2015-08-28 102 views
0

我很长一段时间打这个退出问题,并找不到解决方案。在开始时,我的网站使用ADFS 2.0无法登出,即使正确的登出网址已被打开。我认为这是一些饼干没有清除。之后,我发现这可能是ADFS服务器的问题。ADFS 2.0,如何清除凭证缓存?

我曾尝试:

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

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

回答

0

这是因为你的公司网内的ADFS服务无缝地使用新的广告服务票,ADFS服务(技术上另一种身份验证),使用Windows集成身份验证和体征你。这与拥有支持Windows集成身份验证的IIS Web应用程序没有区别。

你不会看到这一点,如果你是从外网访问。

在你关心让用户交互登录一些场景。做到这一点的方法是(2012 R2是这里的选择)

  1. 在ADFS服务和应用程序上配置MFA,需要MFA。这将从根本上无缝地登录你,而是提示输入第二个因素
  2. 增加(更高的安全性)可忽略任何SSO(默认SSO网络为8小时),并设置了“AlwaysRequireAuthentication”标志上的应用。

对于ADFS 2016,我们支持提示=通过WS-Fed或OAuth/OpenIDConnect登录,即使Windows SSO模式也会忽略,这会更好。

希望有所帮助。

感谢 //山姆(Twitter的:@MrADFS

+0

感谢您的解释。 2012R2是解决方案所必需的吗?我的ADFS在2008R2上。 – bigbearzhu

+0

对于指定的选项是,因为这些是我们在2012R2中添加的新功能。有第三个选项,我不推荐,因为它可能导致错误的行为是你要求'wauth = password-uri'wrefresh = 0这迫使U/P认证。这适用于2008R2。 –