次のロジックを実行して、Web セキュリティを使用する ASP.Net MVC ページに 2 段階認証を実装しました。
1) ユーザーが初めてログインし、[ログイン] ページで [次へ] をクリックすると、ユーザーは検証されます。
if (Membership.ValidateUser(model.UserName, model.Password))
{
......// Encrypt the password and storing it in a session
......// Then redirect to step 2 verification page...
}
セキュリティ Q を入力するように求められる第 2 段階の検証ページにリダイレクトされます。それが正しければ、新しい Cookie (Cookie2) が作成され、ユーザーは次を使用してログインされます。
.......//Decrypt the password
_webSecurity.Login(username, decryptedpassword, false)
その後、彼は自分のホームページにリダイレクトされます。
2) 次にアプリにログインしようとすると、2 番目のステップで作成された Cookie (Cookie2) が存在するかどうかのチェックがあります。存在する場合はホームページに直接リダイレクトされ、存在しない場合は再びセキュリティ Q を入力するよう求められます。
したがって、ここに実装が表示されている場合、実際には、ユーザーが 2 段階認証を有効にした場合にのみ、ユーザーをアプリにログインさせています。これを実装するために、Cookie を作成し、パスワードをセッションに保存しています。
これをより良い方法でコーディングできるかどうか誰か教えてもらえますか?セッションと Cookie を使用せずにこれを行うことができると思います。
どんなアイデアや提案も大歓迎です。
ありがとう、
白