HTTP错误404.0 - 未找到成员资格提供程序授权访问权限

时间:2013-07-10 14:29:33

标签: asp.net asp.net-membership membership-provider login-control

我正在使用Membership Provider在我的网站中创建和管理用户和角色。我正在尝试使用web.config将对特定角色的访问限制到Account文件夹,并使用此规则进入此文件夹:

<system.web>
  <authorization>
    <allow roles="Administrator"/>
    <deny users="*" />
  </authorization>
</system.web>

我正在使用Web窗体和表单身份验证,如下所示:

<authentication mode="Forms">
  <forms loginUrl="~/Login.aspx" timeout="2880" defaultUrl="~/" />
</authentication>

但是当我尝试访问位于Account文件夹中的页面时,我得到了:

HTTP错误404.0 - 未找到 您要查找的资源已被删除,名称已更改,或暂时无法使用。在图片下方显示错误:

enter image description here

当用户尝试访问未经授权的文件夹或网址时,如何重定向到登录?

1 个答案:

答案 0 :(得分:1)

您正在访问不存在的Login.aspx /Account/Login/Default.aspx

不应该是~/Account/Login.aspx

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>

如何调试?

  1. 确保您可以正确访问Login.aspx。
  2. 然后将该URL粘贴到web.config中的表单标记内,如上所述。