【问题标题】:ASP.NET FormsAuthentication won't redirect to Default.aspx in rootASP.NET FormsAuthentication 不会重定向到根目录中的 Default.aspx
【发布时间】:2017-06-02 00:20:51
【问题描述】:

我的表单身份验证设置如下:

Web.config:

<authentication mode="Forms">
  <forms slidingExpiration="true" cookieless="UseCookies" timeout="180" loginUrl="Login.aspx" defaultUrl="Default.aspx" name=".ASPXVEWPAUTH"/>
</authentication>
<authorization>
  <deny users="?" />
</authorization>

登录.aspx:

/**Auth logic in button click**/
FormsAuthentication.RedirectFromLoginPage(username, false);

Login.aspx 和 Default.aspx 页面都位于应用程序的根目录中。

每次我登录时,它都会将我重定向回登录页面。如果我直接进入 Default.aspx,它会按原样将我重定向到登录页面,将 Default.aspx 按原样放入 returnUrl 查询字符串中,然后当我登录时,它将我重定向回没有查询字符串的 Login.aspx .如果我再次尝试登录,但没有查询字符串,它仍然只是回到 Login.aspx。

如果我将 defaultUrl 更改为根目录之外的页面,它会很好地重定向,没问题。

如果我将 FormsAuthentication.RedirectFromLoginPage(username, false); 更改为 Response.Redirect("Default.aspx");,重定向仍然不起作用。

如果我将&lt;deny users="?" /&gt; 更改为&lt;allow users="?" /&gt;,我可以直接加载 Default.aspx,但重定向仍然不起作用。

我在这里完全不知所措。我以前从未见过这种行为,而且我没有想法尝试。为什么它不允许我重定向到应用程序根目录内的页面?非常感谢任何帮助。

【问题讨论】:

    标签: asp.net forms-authentication


    【解决方案1】:

    原来这是一个 IIS Express 问题。 我尝试在本地 IIS 上运行它,它运行良好。我重新安装了 IIS express,现在它似乎也可以正常工作了。

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      相关资源
      最近更新 更多