使用ASP.NET登录控件wih deny =“?”

时间:2009-06-23 21:05:30

标签: asp.net security login

我有一个使用ASP.NET(3.5)构建的网站,并希望在其中添加一定程度的安全性。

我正在使用登录控件来帮助解决这个问题。我有一个问题。

我的web.config中有以下内容。

<authorization>
  <deny users="?"/>       
</authorization>

当用户之前没有登录时(例如,如果他们转到default.aspx表单然后将用户重定向到login.aspx表单),这项工作正常。但如果它是新用户,那么我想允许该用户使用signup.aspx表单上的CreateUserWizard输入新的详细信息。但出于某种原因,它只是跳回到登录表单。

我错过了什么吗?我认为这些登录控件可以允许这种情况吗?

2 个答案:

答案 0 :(得分:4)

您需要添加允许他们访问登录页面的例外

<location path="SignUp.aspx">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
</location>

System.Web节点中的类似内容。

答案 1 :(得分:0)

您将身份验证与授权混淆。

身份验证是从用户获取身份凭证(如姓名和密码)并根据某些权限验证这些凭据的过程。

授权确定是否应授予身份访问特定资源的权限。

您使用的“授权”代码是一种URL授权方法。基本上,您明确允许或拒绝访问特定目录。

因此,对于您拥有注册表单的页面,您需要明确允许访问所有用户。

相关问题