ASP.NET FormsAuthentication不会重定向到root中的Default.aspx

时间:2017-01-17 19:40:12

标签: asp.net forms-authentication

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

的Web.config:

new-folder/

的Login.aspx:

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

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

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

如果我将defaultUrl更改为root之外的页面,它会重定向,没问题。

如果我将/**Auth logic in button click**/ FormsAuthentication.RedirectFromLoginPage(username, false); 更改为FormsAuthentication.RedirectFromLoginPage(username, false);,则重定向仍然无效。

如果我将Response.Redirect("Default.aspx");更改为<deny users="?" />,我可以直接加载Default.aspx,但重定向仍然不起作用。

我在这里完全失败了。我以前从未见过这种行为,而且我没有尝试过。为什么不让它重定向到应用程序根目录中的页面?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

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