Laravel 4.2 - 无法注销

时间:2014-11-09 16:43:10

标签: authentication laravel-4

我已经在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');
}
));

我在想什么?

谢谢 - 乔

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

希望这有助于其他人。

最好 - 乔