2016-11-10 15 views
-1

私はlaravel Authと一緒に働いています。電子メールとパスワードで新しいルールを追加しようとすると、ステータス(ユーザーモデル内のフィールド)が= 1の場合、彼はログインできません。私はどこにこれを追加すべきかわかりません。私はAuthenticateUsers.phpをguard.php、ミドルウェアを見ていたが、それが見つかりませんでした。..Laravel認証のカスタムルール


編集:私はこのフィールドをチェックする新しいミドルウェアを作成することでこれを解決してきました

。また、それは認証を行うことができます::試み

+0

ステータスはこちらですか? –

+0

@MohamedAthifステータスはユーザモデルのフィールドです(最初の投稿を編集しました) –

+0

ミドルウェアを作成し、ステータスが1の場合はadminのようなルートを制限することができます。 –

答えて

1

あなたに試すことができます:あなたが希望する場合は、あなたもで認証クエリに余分な条件を追加することができDocs

から

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

ユーザーの電子メールとパスワードに加えて。

+0

ドキュメントを参照すると、これはLoginController.phpにあるはずです。このコードをどこに追加すればいいですか? –

+0

'LoginController.php'に' login() '関数を含む' Illuminate \ Foundation \ Auth \ AuthenticatesUsers'という特性があります。 'LoginController'クラスでその関数を必要に応じてオーバーライドすることができます。 –