2013-09-30 115 views
0

我有一个简单的管理区域,我可以更新网站的某些方面。因为我是唯一一个访问它我想用Laravel 4Laravel 4 - auth.basic过滤器会话不会过期|如何过期auth.basic会话

auth.basic功能我构建了一次添加auth.basic过滤器提供了很多资源在我routes.php文件组:

//routes.php 

// Password protected routes 
Route::group(['before' => 'auth.basic'], function() { 
    Route::get('admin', ['as' => 'admin', 'uses' => '[email protected]']); 
    Route::resource('admin', 'AdminController'); 
    Route::resource('users', 'UsersController'); 
    Route::resource('pizzas', 'PizzasController'); 

}); 

这些路由受到保护(应该是这样),当我第一次访问这些路由时,我必须填写一个弹出式认证表单。

问题出在这里:我认为一旦关闭浏览器,认证会话就应该过期。这没有发生。即使浏览器关闭了几个小时,它仍然“记得我”。

  • 我试着在config/session.php上设置'lifetime' => 0,

我该如何解决这个问题?

谢谢。

+0

你关闭浏览器,或者你只是关闭标签?不知道你在使用哪个操作系统,但是mac os会用cmd-q完全关闭。 –

+0

我关闭浏览器。试用过Chrome,Firefox和IE9。他们有相同的行为。我在Windows 7上。 –

+0

嗯,很奇怪。我可以在这一点上提出的onyl事件是cookies。转储他们,仍然登录? –

回答

0

要清除auth.basic会议也可以使用,

Auth::logout(); 

或者

Auth::clearUserDataFromStorage(); 

见API文档here

0

config/session.php和设置'lifetime' => 0,然后重新启动Windows,固定它适用于Firefox和IE9,但不适用于开发机器上的Chrome。

但是,当从另一台计算机(不是提供页面的服务器)访问页面时,Chrome确实按预期工作。

考虑到没有人会从服务器访问该网站(一旦它上线),我就会忍受它。

0

我认为铬保存身份验证信息并发送任何请求。所以它可以与会话分开。

你可以用chrome开发工具 - > net标签检查它。在任何请求chrome自动发送认证信息。

,您可以检查

auth.basic.once

也。