3

ユーザー登録後、アカウントを有効にするためにメールを送信しましたが、ユーザーはアカウントが有効になっていない場合でもログインできます。ユーザー アカウントが有効になっているかどうかを確認するにはどうすればよいですか?

if (Auth::attempt(array('email' => $email, 'password' => $password))) {
  // Success login
} else {
  // Login fail
}
4

3 に答える 3

4

データベースにクエリを実行する必要があります。

次の db アーキテクチャがあるとします。

users
id     name    email    active
--     ----    -----    ------
1      alex    a@a.a    0

あなたは次のことをするかもしれません

if( ! User::where_email($email)->only('active')) // Adapt the where to your needs
   echo "User not active"
else
   echo "User active"

私はLaravel REST APIデモサービスを作成しました(私はそれを使用しています)。実際には、ユーザーがアクティブ化されているかどうかを確認する部分があります:ここで見つけてくださいhttps://github.com/w0rldart/lRapi/blob/master/api /controllers/api/user.php

于 2013-03-13T23:53:42.257 に答える
0

秘密鍵を使用してユーザーの電子メールへのリンクを送信します。キーは、アプリケーションの秘密鍵をソルトとして使用した電子メール アドレスのハッシュなど、一意である必要があります。上記の手順を使用して、このリンクがリンクが有効であることを確認するエンドポイントを用意します。生成したキーが電子メール リンクのキーと一致する場合は、アカウントを検証してログイン ページにリダイレクトできます。

于 2013-03-14T00:33:44.303 に答える