微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 在Laravel中使用HTTP Basic Auth注销

我有一个用户类,它包含两种类型的用户,并希望允许不同的用户转到不同的页面.

我创建了一个过滤器,如下所示

Route::filter('isExpert', function()
{
    $userIsExpert = 0;
    $userIsLoggedIn = Auth::check();
    if ($userIsLoggedIn && Auth::user()->role == 'expert') {
    $userIsExpert = 1;
    }

    Log::info('Logged in: ' . $userIsLoggedIn . ' && Expert: ' . $userIsExpert);
    if ($userIsExpert == 0)
    {
        Log::info('should be logging out Now.');
        Auth::logout();
        return Auth::basic();
    }
});

和路由一样

Route::get('/winners', array('before' => 'isExpert', function()
{
    $winners = DB::select('select * from winners');
    return View::make('winners.index')->with('winners',$winners);
}));

想法是:如果它不是专家,它将注销并重定向登录页面.如果是,它将继续.
但是,Auth :: logout();不会注销用户.

为什么Auth :: logout()不起作用?我已经尝试将它放在应用程序的任何地方都无济于事.

干杯

解决方法:

我有同样的问题,我真的无法注销当前用户…答案很简单:Laravel不支持使用Auth :: basic()的logout().

有办法解决它,但它不是很干净; https://www.google.nl/search?q=logout+basic

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐