如何在ASP.NET中将表单身份验证与其他表单身份验证模式(如一次性密码)混合使用?

时间:2012-09-12 16:11:08

标签: asp.net authentication

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

所以我有Login.aspx和LoginOTP.aspx

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

如何实现该业务用例呢?

1 个答案:

答案 0 :(得分:2)

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

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

FormsAuthentication.SetAuthCookie("userA", false);

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

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