我的会话和中间件无法正常工作

时间:2020-03-06 11:30:18

标签: php laravel laravel-5.8

实际上,我希望仅当用户登录时,我的应用程序才会进入admin_panel.blade.php。我不想直接去那儿。因此,我实现了中间件和会话,但是它不起作用,因为如果我直接进入“ admin_panel”,那么它就不会限制我。无论是否使用登录信息,都可以转到admin_panel。

请解决我的问题。

Web.php

Route::get('/admin_log', function () {
    return view('Admin.admin_login');
});
Route::group(['middleware'=>'session_auth'],function(){
    Route::get('/admin_panel','LoginController@admin_panel');

LoginController

public function admin_panel(){
        return view('Admin.admin_panel');
    }
    public function admin_login(Request $req){
        $login=AdminLogin::first();

        if ($login->Admin_Name==$req->admin_name && $login->Admin_Password==$req->admin_password ){
            $req->session()->put('session_name',$req->admin_name);

            return redirect('admin_panel');

        }

        else{
            return redirect('admin_log')->with('error','Invalid UserName or Password!');
        }


    }

中间件

public function handle($request, Closure $next)
    {
        if(is_null($request->session()->get('session_name'))){
            return redirect('/admin_log');
        }

        return $next($request);
    }

0 个答案:

没有答案