Warum wird meine asp.net Mitgliedschaft Login-Seite nicht mit einer Umleitung arbeiten?
-
22-08-2019 - |
Frage
Ich habe diese Mitgliedschaft Website-Setup auf meinem lokalen Rechner des ASP.NET-Mitgliedschaft Anbieter verwendet. Wenn ich auf:
Er leitet mich auf
http: //localhost/Login.aspx ReturnUrl =% 2fadmin% 2fDefault aspx
Welche ist in Ordnung. Aber nachdem ich in meinen Login-Informationen setzte, scheint die Seite nur zu aktualisieren. Es ist nicht log mich tatsächlich in, und es sieht aus wie es die Seite aktualisiert. Wenn ich die URL zu ändern:
Es funktioniert gut. Es protokolliert mich in kein Problem, und leitet mich auf meine Standard-Seite. Ich habe auch die Live-Website, und es tut die gleiche Sache. Irgendwelche Ideen? Vielen Dank im Voraus!
EDIT: Hier ist das Markup:
<asp:Login ID="Login1" runat="server" CssClass="LoginBox" TitleText="Please Log In">
<LayoutTemplate>
<h2>
Please Log In:</h2>
<p runat="server" id="FailureText" visible="false">
Either your email address or password was incorrect. Please try again.</p>
<strong>Email</strong><br />
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
Text="*"></asp:RequiredFieldValidator>
</p>
<p>
<strong>Password</strong><br />
<asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
Text="*"></asp:RequiredFieldValidator>
</p>
<p>
<asp:Button ID="Login" CommandName="Login" runat="server" Text="Log In" /></p>
<p>
Please <a runat="server" id="Link_ContactUs">contact </a>an administrator if you
are having trouble logging in or have forgotten your password.</p>
</LayoutTemplate>
</asp:Login>
web.config Setup:
<authentication mode="Forms">
<forms loginUrl="/Login.aspx"
protection="All"
timeout="60"
name="AppNameCookie"
path="/Admin"
requireSSL="false"
slidingExpiration="true"
defaultUrl="/Admin/Default.aspx"
cookieless="UseCookies"
enableCrossAppRedirects="false" />
</authentication>
Lösung
Können Sie uns zeigen einige Code? Wenn Sie FormsAuthentication.RedirectFromLoginPage
Methode verwenden, sollten Sie bekommen, was Sie wollen. Sind Sie mit FormsAuthentication.SetAuthCookie
statt?
Update
Ändern path="/Admin"
in web.config
path=/
Der Grund, warum es nicht funktioniert, ist, dass Ihre Authentifizierungscookie nur in /Admin
Pfad festgelegt sind und der Browser behandelt URLs als Groß- und Kleinschreibung, so dass es nicht das Authentifizierungscookie zurück auf die /admin/Default.aspx
Seite (kleines admin
) senden.