簡體   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