我有一个使用ASP.NET(3.5)构建的网站,并希望在其中添加一定程度的安全性。
我正在使用登录控件来帮助解决这个问题。我有一个问题。
我的web.config中有以下内容。
<authorization>
<deny users="?"/>
</authorization>
当用户之前没有登录时(例如,如果他们转到default.aspx表单然后将用户重定向到login.aspx表单),这项工作正常。但如果它是新用户,那么我想允许该用户使用signup.aspx表单上的CreateUserWizard输入新的详细信息。但出于某种原因,它只是跳回到登录表单。
我错过了什么吗?我认为这些登录控件可以允许这种情况吗?
答案 0 :(得分:4)
您需要添加允许他们访问登录页面的例外
<location path="SignUp.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
System.Web节点中的类似内容。
答案 1 :(得分:0)
您将身份验证与授权混淆。
身份验证是从用户获取身份凭证(如姓名和密码)并根据某些权限验证这些凭据的过程。
授权确定是否应授予身份访问特定资源的权限。
您使用的“授权”代码是一种URL授权方法。基本上,您明确允许或拒绝访问特定目录。
因此,对于您拥有注册表单的页面,您需要明确允许访问所有用户。