Einmaliges Anmelden scheint für meine Anwendung und eine Reihe anderer Websites, die sich einen STS teilen, ordnungsgemäß zu funktionieren. Wenn ich mich von meiner Anwendung abmelde, scheint ich ordnungsgemäß von meiner Site abgemeldet zu sein. Ich kann jedoch immer noch auf andere Anwendungen zugreifen, die denselben STS verwenden, ohne sich erneut anmelden zu müssen. Kann mir jemand sagen, was ich vermisse?Warum meldet mich meine WIF-Abmeldung nicht von allen RP-Websites ab?
Meine Anwendung ruft alles unter der Sonne, in einem Versuch, dies zur Arbeit zu bringen, aber das Verhalten ist das gleiche, wenn ich nur FederatedSignOut aufrufen.
FederatedAuthentication.SessionAuthenticationModule.SignOut();
FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie();
FederatedAuthentication.WSFederationAuthenticationModule.SignOut(false);
System.Web.Security.FormsAuthentication.SignOut();
WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule;
WSFederationAuthenticationModule.FederatedSignOut(new Uri(authModule.Issuer), new Uri(authModule.Realm));
Hier ist mein STS-Logout-Code.
SignOutRequestMessage requestMessage = (SignOutRequestMessage)WSFederationMessage.CreateFromUri(Request.Url);
FederatedPassiveSecurityTokenServiceOperations.ProcessSignOutRequest(requestMessage, User, requestMessage.Reply, Response);
Ist das ein Problem mit der STS, oder mit meiner Anwendung? Ist es möglich, dass dies ein Konfigurationsproblem ist, wenn die Abmeldung zumindest für meine Anwendung funktioniert? Muss ich explizit eine "wsignoutcleanup1.0" -Nachricht an alle RPs senden, oder sollte ProcessSignOutRequest das für mich tun?