繁体   English   中英

ADFS 2.0单点注销无法注销

[英]ADFS 2.0 Single Sign Out Not Signing Out

我正在编写一个实现ADFS 2.0的Web应用程序的问题。 我能够让用户登录得很好,但我确实有用户需要能够退出应用程序以允许其他用户登录的情况。

当用户单击它通过以下方法运行的注销按钮时会发生什么:

    public void SignOut()
    {
        WSFederationAuthenticationModule.FederatedSignOut(new Uri(Properties.Settings.Default.ADFSIssuer),
            new Uri(Properties.Settings.Default.ADFSRealm));
    }

我的ADFS Issuer是https://adfs.domain.com/adfs/ls/ ,我的ADFS Realm是我的Web应用程序的主要URL。

该应用程序似乎已经退出。 当另一个用户单击“登录”按钮时,它会自动将其作为上一个用户登录,而不会提示输入凭据。

我查看了以下资源以获得帮助,但没有任何工作:

https://github.com/thinktecture/Thinktecture.IdentityServer.v2/issues/195 http://social.technet.microsoft.com/wiki/contents/articles/1439.ad-fs-how-to-invoke-a -ws-联合会-登录out.aspx

我不应该在不关闭浏览器的情况下注销ADFS应用程序吗?

我只猜测,但我怀疑你的adfs配置为windows身份验证,而你的应用程序有Login按钮(从你的描述中不清楚)。

如果是这种情况,那么您无法真正从已经过身份验证的adfs注销,并且很高兴在应用程序的下一个请求时重新发出令牌。 您无法对此进行任何操作,因为使用ntlm / kerberos执行身份验证,这是在您关闭凭据之前保留凭据的浏览器。

解决方案是将adfs更改为Forms模式(在adfs web.config中切换提供程序的顺序),这样不仅adfs有自己的cookie,而且当您发出注销消息时,这些cookie也会被真正删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM