doutui9606 2019-02-23 11:09
浏览 183

Laravel:在routes / admin.php中为管理员定义自定义路由后登录无法正常工作

Im using laravel 5.7 , I want to separate route for user and admin , so i have created file routes/admin.php , previously all routes (for user and admin) in routes/web.php , after route separation login is not working for both admin and user .

here is routes/admin.php

Route::group(['namespace' => 'Admin\Dashboard'],function () {
    Route::get('/','DashboardController@index')->name('admin.dashboard');
    Route::post('/top_categories','DashboardController@topCategories')->name('admin.top_categories');
});


Route::group(['namespace' => 'Admin\Auth'],function () {
    Route::get('/login','LoginController@showAdminLoginForm')->name('admin.login');
    Route::post('/login','LoginController@adminLogin');
    Route::post('/logout', 'LoginController@logout')->name('admin.logout');
    Route::get('/register','RegisterController@showAdminRegisterForm')->name('admin.register');
    Route::post('/register', 'RegisterController@createAdmin');
    Route::get('/forgot-password','ForgotPasswordController@showForgotPassword')->name('admin.forgot-password');
    Route::post('/forgot-password', 'ForgotPasswordController@sendResetLinkEmail')->name('admin.send-reset-email');
});

and in RouteServiceProvider.php

class RouteServiceProvider extends ServiceProvider
{

protected $namespace = 'App\Http\Controllers';

public function map()
{
    $this->mapApiRoutes();
    $this->mapWebRoutes();
    $this->mapAdminRoutes();
}

 protected function mapWebRoutes()
{
    Route::middleware('web')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));
}


protected function mapAdminRoutes(){
    Route::middleware('web')
    ->namespace($this->namespace)
    ->prefix('admin')
    ->group(base_path('routes/admin.php'));
}

}

But After this , I am unable to login for Both user and admin , the page redirect back to login page even if i enter correct credentials , previously it is working correct when i haven't created separated file for admin

Here is code for AdminLoginController :

<?php

namespace App\Http\Controllers\Admin\Auth;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller
{


    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/admin';


    public function __construct()
    {
        $this->middleware('guest:admin')->except('logout');
    }

    public function showAdminLoginForm()
    {
        return view('admin.auth.login');
    }

    public function adminLogin(Request $request)
    {
        $this->validate($request, [
            'email'   => 'required|email',
            'password' => 'required|min:6'
        ]);
        if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
            return redirect()->intended(route('admin.dashboard'));
        }
        return back()->withInput($request->only('email', 'remember'));
    }


    public function logout(Request $request)
    {
        $this->guard()->logout();
        $request->session()->flush();
        $request->session()->regenerate();
        return redirect()->route('admin.login');
    }
}

I Have also tried to clear route cache : php artisan route:clear but no luck :(

Strange thing is , it displaying text when redirecting after login , and login still not working .

enter image description here

anyone please help me to solve this issue .

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 mmocr的训练错误,结果全为0
    • ¥15 python的qt5界面
    • ¥15 无线电能传输系统MATLAB仿真问题
    • ¥50 如何用脚本实现输入法的热键设置
    • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀