如何解决wa = wsignupcleanup1.0不会在依赖方上注销用户
|| 在使用Windows Identity Foundation的项目上工作。 在测试注销解决方案时,我发现以下调用 http:// rp /?wa = wsignoutcleanup1.0不会删除RP上的FedAuth cookie。 这又使用户保持在RP的登录状态。 为了解决这种情况,我向Global.asax添加了以下代码:protected void Application_Start()
{
FederatedAuthentication.WSFederationAuthenticationModule.SigningOut += new EventHandler<SigningOutEventArgs>(WSFederationAuthenticationModule_SigningOut);
}
void WSFederationAuthenticationModule_SigningOut(object sender,SigningOutEventArgs e)
{
FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie();
}
但是WIF难道不应该自动处理吗?
还是这种方式?
解决方法
确保所有URL大小写都匹配,即使IIS中的应用程序名称和网站名称大小写也应与配置中的URL匹配。我很难追踪到这一点。请参阅此处:wasignoutcleanup问题
,同意@Anton。它应该适用于WIF cookie。它不会清理您自己的会话。
如果您还有其他需要清理的内容,则需要做其他工作。需要注意的是,任何WIF事件处理程序都无法使用会话对象。因此,例如,您不能从WSFederationAuthenticationModuleSigningOut调用Session.Abandon()。通常,您重定向到另一个页面进行最终清理。此处提供了一个示例:http://claimsid.codeplex.com(示例#1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。