【问题标题】:Logout not working in laravel5注销在laravel5中不起作用
【发布时间】:2016-03-29 18:09:27
【问题描述】:

注销后它不会破坏会话我可以看到仪表板。如何在我的视图控制器中使用身份验证机制

控制器

public function admin_logout()
{
    Session::forget('userid');
    Session::forget('username');
    Session::flush();
    Auth::logout();
    return Redirect('siteadmin');
}

型号

 public static function login_check($uname,$password)
    {
        $check = DB::table('le_admin')->where('adm_email','=',$uname)->where('adm_password','=',$password)->get();
    if($check)
    {
        Session::put('userid', $check[0]->adm_id);
        Session::put('username', $check[0]->adm_email);
        return 1;

    }
    else
    {
        return 0;
    }
}

【问题讨论】:

    标签: laravel laravel-5 laravel-5.1 laravel-authorization


    【解决方案1】:

    你应该使用:

    Auth::logout()
    

    确保用户已注销。

    参考:http://laravel.com/docs/5.1/authentication#authenticating-users

    【讨论】:

    • 在 Auth 文件中我需要为注销编写任何编码
    • 不,它将使用默认机制。在您的admin_logout 中编写任何自定义代码,运行Auth::logout(); 然后进行重定向
    【解决方案2】:

    这是完整的身份验证文档。只需尝试使用 Auth 外观来完成您的任务。

    http://laravel.com/docs/5.1/authentication

    您只需要使用手动身份验证 - 其余的事情将由 Laravel 在后台处理。

    【讨论】:

    • 现在我更新了我的 admin_logout。现在我也可以看到仪表板了
    • 只要在 Auth::logout() 之后尝试使用 Auth::user() 打印用户的 id,如果你得到的结果意味着用户仍然登录。
    • 由于 Auth::user() 没有打印任何内容,因此您没有获得表示您已注销的用户 ID
    • 是的。但是如果我单击一个按钮,它会显示仪表板为什么我会收到此错误。如何解决此问题
    猜你喜欢
    • 2011-12-02
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2018-07-04
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多