Ich habe Formularauthentifizierung Setup bekam wie folgt:ASP.NET FormsAuthentication nicht an Default.aspx in Root umleiten
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);
Die Seiten Login.aspx und Default.aspx befinden sich beide im Stammverzeichnis der Anwendung.
Jedes Mal, wenn ich mich anmelde, werde ich zurück zur Anmeldeseite geleitet. Wenn ich direkt zu Default.aspx gehe, leitet es mich auf die Login-Seite um, wie es sollte, setzt Default.aspx in die Rückgabe-Abfrage-Zeichenfolge, wie es sollte, und wenn ich mich anmelde, leitet es mich zurück zu Login.aspx ohne Abfrage-String . Wenn ich versuche, mich erneut anzumelden, ohne eine Abfragezeichenfolge, wird immer noch auf Login.aspx zurückgegriffen.
Wenn ich defaultUrl zu einer Seite außerhalb der Wurzel ändern, leitet es gut, kein Problem.
Wenn ich FormsAuthentication.RedirectFromLoginPage(username, false);
zu nur Response.Redirect("Default.aspx");
ändern, funktioniert die Weiterleitung immer noch nicht.
Wenn ich <deny users="?" />
zu <allow users="?" />
ändere, kann ich Default.aspx einfach in Ordnung bringen, indem ich direkt darauf gehe, aber die Weiterleitung funktioniert immer noch nicht.
Ich bin hier vollständig verloren. Ich habe dieses Verhalten noch nie zuvor gesehen und ich habe keine Ideen mehr, um es zu versuchen. Warum lasse ich mich nicht auf eine Seite im Stammverzeichnis der Anwendung umleiten? Jede Hilfe wird sehr geschätzt.