2013-09-30 165 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

也。