【问题标题】:Laravel 4.2 - Can't logoutLaravel 4.2 - 无法注销
【发布时间】:2015-01-05 23:21:46
【问题描述】:

我在 Laravel 4.2 中设置了一个基本的身份验证例程,我发现一旦我登录查看受保护的页面 (/spotlight),我似乎无法退出 - 我总是可以访问到那个页面。如果我访问登录页面,然后转到站点根目录检查状态,则进一步奇怪(可能是线索),这表明我已注销。但是,如果我随后转到 /spotlight,则会显示该页面,并且随后访问站点根目录返回“已登录”。

是的,我确实建立了 remember_token 列 (varchar(100), NULL yes, Default = NULL)。

相关路线:

Route::get('/login', function()
{
    return View::make('login');
});

Route::post('/login', function()
{
    $credentials = Input::only('username', 'password');
    if (Auth::attempt($credentials)) {
        return Redirect::intended('/');
    }
    return Redirect::to('login');
});

Route::get('/logout', function()
{
    Auth::logout();
    return View::make('logout');
});

Route::get('spotlight', array(
    'before' => 'auth.basic' ,
    function()
{
    return View::make('spotlight');
}
));

我错过了什么?

谢谢 - 乔

【问题讨论】:

标签: authentication laravel-4


【解决方案1】:

基本身份验证不支持注销。这不是 Laravel 的限制,HTTP 基本授权并非旨在处理注销。客户端将保持登录状态,直到浏览器关闭。

【讨论】:

    【解决方案2】:

    看起来问题在于使用 auth.basic 而不仅仅是 auth 作为过滤器。当我切换到身份验证和自定义登录页面时,一切正常。

    希望这对其他人有所帮助。

    最佳 - 乔

    【讨论】:

    • 当你说切换时。你能详细说明你的意思吗?
    猜你喜欢
    • 2016-09-21
    • 2021-06-15
    • 2019-09-03
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多