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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top