0

我有一个简单的管理区域,可以在其中更新网站的某些方面。因为我将是唯一一个访问它的人,所以我想到了使用auth.basicLaravel 4 的功能。

我在我的routes.php文件上建立了一个组,可以auth.basic一次将过滤器添加到多个资源中:

//routes.php

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

});

路由受到保护(应该如此),当我第一次访问这些路由中的任何一个时,我必须填写弹出式身份验证表单。

这就是问题所在:我相信一旦我关闭浏览器,经过身份验证的会话就会过期。这没有发生。即使浏览器关闭了几个小时,它仍然会“记住我”。

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

我能做些什么来解决这个问题?

谢谢。

4

3 回答 3

0

要清除auth.basic会话,您可以使用,

Auth::logout();

或者

Auth::clearUserDataFromStorage();

在此处查看 API 文档

于 2013-09-30T14:27:38.183 回答
0

转到config/session.php并设置'lifetime' => 0,然后重新启动 Windows,为 Firefox 和 IE9 修复了它,但在开发机器上没有为 Chrome 修复。

但是,当从另一台计算机(不是为该页面提供服务的计算机)访问该页面时,Chrome 确实可以正常工作。

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

于 2013-10-01T03:38:21.140 回答
0

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

您可以使用 chrome 开发工具 -> 网络选项卡进行检查。在任何请求中,chrome 都会自动发送身份验证信息。

你可以检查

auth.basic.once

还。

于 2013-10-06T08:51:49.327 回答