ASP.NET按页面授权

我在我的web.config文件中有这些设置。 只有两个授权标签。 一个拒绝匿名用户和另一个注册页面,以便任何人都可以访问它。 我怎样才能做到这一点?

<configuration>
  <system.web>
    <authorization>
      <deny users="?"/>
      <!--Deny access to unauthorized users-->
    </authorization>
  ...
  </system.web>
  <location path="Account/Register.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>

当我点击注册按钮时,上面的这些设置给我以下错误。

访问被拒绝。

说明:访问提供此请求所需的资源时发生错误。 服务器可能未配置为访问所请求的URL。

错误消息401.2 .:未经授权:由于服务器配置导致登录失败。 验证您是否有权根据您提供的凭据以及Web服务器上启用的身份验证方法来查看此目录或页面。 请联系Web服务器的管理员以获取更多帮助。

登录页面是可访问的。 我有web.config中的用户进行测试,它工作正常。 我可以登录并访问所有页面。 但我怎样才能使登记页面可以访问?


你是对的@Seyed Morteza Mousavi,我的问题是在注册链接!

当我创建该网站时,默认看起来像这样。

 <asp:HyperLink runat="server" ID="RegisterHyperLink" ViewStateMode="Disabled">Register</asp:HyperLink> if you don't have an account.

我改变它是这个。

<asp:LinkButton runat="server" ID="lnkRegister" PostBackUrl="~/Account/Register.aspx" CausesValidation="false">Register</asp:LinkButton> if you don't have an account.

它现在有效。 我不知道为什么默认的一个不行,但我不在乎。 另外,登录链接旁边的Site.Master中的注册链接不起作用。 它不断重定向到登录页面! 再次不知道为什么。 但是现在这是可以的。

链接地址: http://www.djcxy.com/p/55857.html

上一篇: ASP.NET authorize by page

下一篇: Deny anonymous access to word doc in the website