1

我通过执行以下逻辑在使用 Web 安全的 ASP.Net MVC 页面中实现了两步验证:

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。如果他正确,则创建一个新的cookie(Cookie2),并且用户使用-

 .......//Decrypt the password
_webSecurity.Login(username, decryptedpassword, false)

然后他被重定向到他的主页。

2) 下次他尝试登录应用程序时,会检查第二步中创建的 cookie(Cookie2) 是否存在。如果存在,则直接将他重定向到主页,如果不存在,则再次要求他输入安全 Q。

因此,如果我们在这里看到实现,我实际上是在用户获得第二步验证有效的情况下才将用户登录到应用程序中。为了实现这一点,我正在创建一个 cookie 并将密码存储在会话中。

谁能让我知道我们是否可以以更好的方式对此进行编码?我猜我们可以在不使用会话和 cookie 的情况下做到这一点。

任何想法/建议都是最受欢迎的。

谢谢,

WH

4

0 回答 0