单点登录似乎对我的应用程序和许多其他共享STS的网站正常工作。当我退出我的应用程序时,我似乎正确地从我的网站注销;但是,我仍然可以访问使用相同STS的其他应用程序,而无需再次登录。任何人都可以告诉我我错过了什么吗?为什么我的WIF注销不能将我从所有RP网站注销?
我的应用程序在阳光下调用了所有东西,试图让它起作用,但是当我只调用FederatedSignOut时,行为是一样的。
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));
这是我的STS登出码。
SignOutRequestMessage requestMessage = (SignOutRequestMessage)WSFederationMessage.CreateFromUri(Request.Url);
FederatedPassiveSecurityTokenServiceOperations.ProcessSignOutRequest(requestMessage, User, requestMessage.Reply, Response);
这是STS的问题,还是与我的应用程序?如果注销至少适用于我的应用程序,这可能是配置问题吗?我是否必须明确地向所有RP发送“wsignoutcleanup1.0”消息,还是应该为ProcessSignOutRequest为我做这些?