2016-07-29 66 views
1

嗨我每個人都使用laravel 5.2默認auth但我希望用戶只能以活動狀態登錄。laravel 5.2用戶登錄處於活動狀態

https://laravel.com/docs/5.2/authentication

在這個環節上,他們給出的方法類似下面

if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) { 
    // The user is active, not suspended, and exists. 
} 

,但它位於laravel 5.2我沒有發現這一點。

我搜索了,但解決方案是以前的版本,而不是5.2。

所以,請幫我登錄有活躍狀態的用戶只所以給我laravel 5.2的不是5.1或內置或自定義解決方案來解決這個問題

+0

它仍然像那樣工作 –

+0

這與5.2一起工作,你嘗試過嗎? –

+1

他們將其添加到文檔以顯示您可以驗證用戶表上的其他字段。他們以「active」字段爲例,Laravel沒有提供開箱即用的帳戶激活功能。 – Winter

回答

1

假設你正在使用的缺省auth設置,您可以覆蓋在AuthControllergetCredentials方法,其中來自AuthenticatesUsers特質。

protected function getCredentials(Illuminate\Http\Request $request) 
{ 
    return $request->only($this->loginUsername(), 'password') + ['active' => 1]; 
} 

也就是說方法返回傳遞給Auth::attemptAuthControllerlogin的方法的憑據陣列。正如其他人所提到的,您需要在users表上有active字段。

0

以前版本的例子是隻顯示你可以添加嘗試登錄時自定義字段。

您需要向用戶表中添加一個額外字段,如isActive。

完成此操作後,您可以檢查用戶是否在應用程序中處於活動狀態。

if($user->isActive) { 
// do something 
} 
相關問題