1

我正在使用 asp.net。我有一个登录页面。我在登录页面中使用了这个控件:

  <asp:HyperLink runat="server" ID="forgotPassword" Text="Forgot Password" 
       NavigateUrl="~/Account/PasswordRecovery.aspx" >Forgot Password</asp:HyperLink>

当我单击此链接时,我发现自己被重定向回登录页面。浏览器地址栏中的地址是这样的:

/Account/Login.aspx?ReturnUrl=%2fAccount%2fPasswordRecovery.aspx

它与 PasswordRecovery 页面无关。任何其他页面都不能正常工作,即使是一个没有任何内容或后面代码的新页面。

唯一有效的页面是 About.apsx,它在创建时自动位于项目中。

我尝试寻找关于页面的某种空间权限,但在 Web.Config 中找不到任何内容。

请帮助我,这东西真的很奇怪,我无法解释。

4

1 回答 1

1

您需要允许包括访客在内的所有用户访问此页面。为此,最简单的方法是创建一个新文件夹(例如“Public”)并将此页面或其他需要相同访问权限的页面放在那里。在此文件夹中添加带有以下代码的 web.config:

<configuration>
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</configuration>

如果您不想更改页面位置,可以使用“位置”标签:

<configuration>
    <system.web>
      <!-- regular configuration -->
    </system.web>
    <location path="Account/PasswordRecovery.aspx">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>
</configuration>
于 2012-08-12T08:02:29.223 回答