:ASP.NET있는 FormsAuthentication 루트에서 Default.aspx를 리디렉션되지 않습니다
의 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="?" />
을 <allow users="?" />
으로 변경하면 직접 이동하여 Default.aspx를로드 할 수는 있지만 리디렉션은 여전히 작동하지 않습니다.
나는 완전히 손실되었습니다. 전에 이런 행동을 본 적이 없으며 시도 할 아이디어가 없습니다. 왜 응용 프로그램 루트 안의 페이지로 리디렉션되지 않습니까? 어떤 도움이라도 대단히 감사합니다.