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

时间:2015-08-28 07:40:39

标签: c# asp.net adfs2.0 ws-federation

我长时间遇到这个问题,但无法找到解决方案。一开始是我的网站使用ADFS 2.0即使打开了正确的注销网址也无法注销。我以为那是一些没有清除的饼干。之后,我发现它可能是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. 直接退出
  6. 清除我的浏览器Cookie。
  7. 尝试再次使用3的网址登录。我登录后看不到任何弹出窗口。在浏览器开发工具中。我看到重定向到我的网站。
  8. 我使用Fiddler捕获流量,似乎身份验证使用的是NTLM。看起来浏览器从某处获得了凭据(不是在确认的cookie中)。获取弹出窗口的唯一方法是关闭浏览器进程,然后重新打开登录URL。有谁知道怎么让它真正退出?

1 个答案:

答案 0 :(得分:0)

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

如果您从外联网访问,则不会看到此内容。

在某些情况下,您需要关注用户互动才能登录。这样做的方法是(2012R2是这里的选择)

  1. 在ADFS服务和应用程序上配置MFA,需要MFA。这基本上可以无缝地签到你,但提示第二个因素
  2. 增加(更高安全性)忽略任何SSO(默认情况下,Web SSO为8小时)并在应用程序上设置“AlwaysRequireAuthentication”标志。
  3. 使用ADFS 2016可以获得更好的效果,我们支持通过WS-Fed或OAuth / OpenIDConnect进行提示=登录,这甚至会忽略Windows SSO模式。

    希望有所帮助。

    由于 // Sam(推特: @MADADFS