У меня есть формы настройки аутентификации следующим образом: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 просто отлично, перейдя непосредственно к нему, но перенаправление все еще не работает.
У меня здесь полная потеря. Я никогда не видел этого поведения раньше, и у меня нет идей, чтобы попробовать. Почему это не позволит мне перенаправить на страницу внутри корня приложения? Любая помощь приветствуется.