2013-10-31 45 views
0

如何在laravel中有登錄成功的觸發器。
只要登錄成功,就應該設置一個全局變量。
有沒有一種方法可以使用app:after?laravel登錄成功觸發器

App::after(function($request) { ... }) 

我有這樣一段代碼在我UserController

function postLogin(){ 
    if (login OK){ 
     View::share('var', 'value'); 
    } 
} 

但鑑於,輸出爲:
undefined variable : var

我想,如果我設置這個全局變量在filters.php中,它在渲染布局之前設置並且可以工作。但我不知道該如何使用應用程序:篩選

有人告訴我,只要登錄成功,app::after將運行,但事實並非如此 我附和了一些價值,每當加載頁面。它會在所有請求後回顯文本。這確實更符合邏輯。

任何幫助?

回答

1

可以使用auth.login事件這一點。

下面是監聽成功登錄一個簡單的代碼:

Event::listen('user.login', function($user) 
{ 
    // Things to do after a successful login 
}); 

但這可能不適合你的需求。我想你想控制每個頁面的登錄狀態。下面是檢查用戶是否登錄的代碼:

if (Auth::check()) 
{ 
    View::share('var', 'value'); 
} 
+0

代碼的第一部分正是我想要的。全局變量應該在登錄成功後設置一次。謝謝。 – Pars

+0

'user.login'表示來自用戶/登錄視圖的任何請求? – Pars

+0

@aliA全局變量?請不.. – SamV