Wie alternative Login für asp.net Formularauthentifizierung implementieren?
-
12-10-2019 - |
Frage
Ich habe eine bestehende Website Formularauthentifizierung mit SQL-Anbieter verwenden. Jetzt versuche ich, mit einer anderen Website zu integrieren und ihren Authentifizierungsmechanismus verwenden. Ich bin schon können Sie einen Benutzer und versuchen, leise Login den Benutzer in meiner Anwendung validieren. Hier ist der Code für "stille" login:
if (user != null) // logged in!
{
IPrincipal principal = new MyPrincipal(user);
FormsAuthentication.SetAuthCookie(user.ScreenName, true);
HttpContext.Current.User = principal;
Response.Redirect("~/Default.aspx");
}
und es funktioniert mit der Ausnahme, dass die Authentifizierung Forms überschreibt die HttpContext.Current.User
durch die Zeit, die ich es machen „default.aspx“. Gibt es eine Möglichkeit zur Umgehung Formen Rolle und Mitgliedschaft Anbieter?
Lösung
Wenn Sie eine benutzerdefinierte Haupt verwenden, die benutzerdefinierten Auftraggeber muss bei jeder Anfrage an den Webserver festgelegt werden; es ist nicht beibehalten. Hinzufügen von Code zu laden es in global.asax würde es lösen. Andere haben erstellt ein HTTP-Modul dies auch zu tun.
HTH.