【问题标题】:ASP.NET authorize by pageASP.NET 按页面授权
【发布时间】:2013-12-08 06:52:56
【问题描述】:

我的 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 中有一个用户进行测试,它工作正常。我可以登录并访问所有页面。但是如何使注册页面可访问?

【问题讨论】:

  • 我测试了您的配置和注册页面。我在浏览器中输入了注册页面的地址。没有问题。效果很好!!!

标签: asp.net membership


【解决方案1】:

你是对的@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 中的注册链接不起作用。它一直重定向到登录页面!再次不确定为什么。不过暂时还可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    相关资源
    最近更新 更多