1

我尝试使用另一种使用用户名和一次性密码进行身份验证的选项来实现经典表单身份验证模式。

所以我有 Login.aspx 和 LoginOTP.aspx

在 LoginOTP 中,我使用 response.redirect 到 Default.aspx 问题是 asp.net 重定向到 Login.aspx,因为它认为用户没有经过经典身份验证。

那么如何实现该业务用例呢?

4

1 回答 1

3

我假设您拥有相同的用户群,但有时您希望他们一次性登录(例如用于密码重置)而其他时候只是正常登录?

如果是这样,对于 OTP,一旦您验证了 OTP,您就可以使用该FormsAuthentication.SetAuthCookie()方法登录,而无需验证其正常密码。例如

FormsAuthentication.SetAuthCookie("userA", false);

在上面的示例中,用户使用用户名“userA”登录,并且false是是否跨会话保持登录(例如是否勾选了“记住我”之类的内容)

该方法的文档FormsAuthentication.SetAuthCookie()可以在这里找到:http: //msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.setauthcookie.aspx

于 2012-09-12T16:43:00.483 回答