ADFS 2.0,如何清除凭证缓存?

问题描述 投票:0回答:1

这个注销问题我困扰了很长时间,但找不到解决方案。一开始,即使打开了正确的注销网址,我使用 ADFS 2.0 的网站也无法注销。我以为是一些cookies没有清除。后来发现很有可能是ADFS服务器的问题。

我已经尝试过:

  1. 停止iis服务器,所以我根本没有我的网站,只是测试adfs。
  2. 清除我的浏览器cookie。关闭并重新打开。所以很干净。
  3. 直接登录adfs,例如:https://mydomain/adfs/ls/?wtrealm=mysite&wa=wsignin1.0,这里我会弹出用户名和密码的窗口。
  4. 通过访问直接注销:https://mydomain/adfs/ls/?wtrealm=mysite&wa=wsignout1.0
  5. 清除我的浏览器cookie。
  6. 再次尝试使用 3 中的 url 登录。我登录后没有看到任何弹出窗口。在浏览器开发者工具中。我看到重定向到我的网站。

我使用Fiddler来捕获流量,看来身份验证正在使用NTLM。看起来浏览器从某个地方获取了凭据(已确认,不在 cookie 中)。恢复弹出窗口的唯一方法是关闭浏览器进程,然后重新打开登录 URL。有谁知道如何真正注销?

c# asp.net adfs2.0 ws-federation
1个回答
0
投票

这是因为您的公司网络内的 ADFS 服务正在使用 Windows 集成身份验证,并使用新的 AD 服务票证无缝登录 ADFS 服务(技术上是另一种身份验证)。这与拥有支持 Windows 集成身份验证的 IIS Web 应用程序没有什么不同。

如果您从酒店后台访问,您将不会看到此内容。

在某些情况下,您关心的是让用户交互登录。实现的方法是(这里选择2012R2)

  1. 在 ADFS 服务上配置 MFA,并且对于应用程序,需要 MFA。这基本上可以让您无缝登录,但会提示第二个因素
  2. 增强(更高的安全性)以忽略任何 SSO(Web SSO 默认为 8 小时)并在应用程序上设置“AlwaysRequireAuthentication”标志。

ADFS 2016 的情况变得更好,我们支持通过 WS-Fed 或 OAuth/OpenIDConnect 进行提示 = 登录,这甚至会忽略 Windows SSO 模式。

希望有帮助。

谢谢 //萨姆(推特:@MrADFS

© www.soinside.com 2019 - 2024. All rights reserved.