ASP.NET WebForms和FormsAuthentication.SetAuthCookie问题中的双因素身份验证

时间:2014-03-21 15:42:09

标签: asp.net vb.net security authentication

我通过添加双因素身份验证来增强现有应用程序的安全性。目前,用户在登录页面上输入凭据,如果它们有效,用户可以访问其余的应用程序页面。现在为了实现双因素身份验证,我开发了EnterAdditionalInfo.aspx页面,该页面将在logon.aspx页面上验证凭据后显示。如果信息有效,用户将能够访问其余的应用程序页面。我的问题是,如果我在Response.Redirect((&#34;〜/ EnterAdditonalInfo.aspx&#34;)之前没有打电话给FormsAuthentication.SetAuthCookie(UserName, False),那么我无法访问EnterAddtionalInfo.aspx,如果我称之为那么用户已经过身份验证,无法通过双因素身份验证如果我在web.config中执行以下设置 <location path="EnterAdditionalInfo.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> 然后任何人都可以绕过登录页面并访问我不想要的第二页,因为它将打开蛮力攻击的大门。如果有人能帮助我指导正确的方向,我将不胜感激。感谢

1 个答案:

答案 0 :(得分:-1)

我设法通过创建一些会话变量来保存登录页面中的密钥信息来解决问题,如果在加载EnterAdditionalInfo页面时它们是空的,它将使用户返回登录页面,在这种情况下,他们无法绕过登录页。在用户通过所有凭据检查后,将调用FormsAuthentication.SetAuthCookie。