未经授权访问文件夹ManagerPages时,未将用户重定向到登录页面

时间:2014-01-23 22:23:29

标签: c# asp.net-membership asp.net-webpages

这是我默认获得的:

HTTP错误404.0 - 未找到 您要查找的资源已被删除,名称已更改或暂时不可用。

Requested URL htt p://localhost:56335/Account/Login?ReturnUrl=%2fManagerPages%2fVideoManager.aspx
Physical Path      c:\users\pc\documents\visual studio 2012\Projects\Lab8\Lab8\Account\Login
Logon Method       Anonymous
Logon User     Anonymous
Request Tracing Directory      C:\Users\Pc\Documents\IISExpress\TraceLogFiles\LAB8

我尝试过:

<customErrors defaultRedirect="Error.aspx" mode="On">
      <error statusCode="401" redirect="Account/Login.aspx" />
      <error statusCode="404" redirect="Forbidden.aspx" />
    </customErrors>

但是,没有成功,就像我没有改变任何东西。 我还尝试了几乎我在stackoverflow,google上找到的所有解决方案,但无论我做什么,这个页面总会出现。代码甚至没有代码隐藏,所以我如何重定向它们?在成员中也许?

Edit:

我在浏览器地址标签中用Login.aspx替换了帐户/登录,它运行正常。如何在代码中替换它?

2 个答案:

答案 0 :(得分:0)

我使用<rewrite>标签进行了一些实验,并在我更改网址以匹配错误路径“Account/Login”时将其设置为:

<system.webServer>
    <rewrite>
      <rules> 
         <rule name="Unauthorized access" stopProcessing="true">
           <match url="Account/Login" />
           <action type="Redirect" url="/Login.aspx"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

现在它不仅重定向到“Login.aspx”,而且还有原始查询字符串:Login.aspx?ReturnUrl=%2fManagerPages%2fVideoManager.aspx

答案 1 :(得分:0)

<authentication mode="Forms">
      <forms name="DForm" loginUrl="/login.aspx" />
    </authentication>
.....
<location path="ManagerPages">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>