2017-01-17 1 views
0

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.

Antwort

0

Es stellte sich heraus, dass es ein IIS Express-Problem war. Ich habe versucht, es auf meinem lokalen IIS laufen und es hat gut funktioniert. Ich habe IIS Express neu installiert und es scheint jetzt auch gut zu funktionieren.

Verwandte Themen