繁体   English   中英

ASP.NET FormsAuthentication不会在根目录中重定向到Default.aspx

[英]ASP.NET FormsAuthentication won't redirect to Default.aspx in root

我有如下形式的身份验证设置:

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>

Login.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"); ,重定向仍然无效。

如果我更改<deny users="?" /> <deny users="?" /><allow users="?" /> <allow users="?" /> ,我可以直接直接加载Default.aspx,但是重定向仍然不起作用。

我在这里完全不知所措。 我以前从未见过这种行为,并且没有尝试的想法。 为什么不让我重定向到应用程序根目录内的页面? 任何帮助是极大的赞赏。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM