2012-07-27 73 views
0

我们有一个网站,我们的用户通过从ADFS获取STS访问网站。 ADFS通过检查Active Directory中用户的组成员身份来发布声明。该网站使用WIF访问声明并处理认证。从AD公司撤销索赔/令牌,通过ADFS到RP

当用户的AD数据发生变化(例如,他们已删除所有组成员资格)时,是否有办法让这些更改立即反映(至少从用户的PoV开始是同一会话)?目前,如果我们撤销AD中的会员资格,那么该用户对RP(当前会话)的声明不受影响。他们拥有与撤销前相同的声明和访问权限,直到用户的ADFS会话过期(可能需要几个小时)。

例如用户U1通过ADFS登录我们的网站W1,浏览一下,然后在AD中取消他的成员资格。我们需要在短时间(分钟)内自动从W1注销U1。如果没有注销,将WIF中的声明集重置为反映其现在为空的AD组成员资格也是可以接受的。

这可能吗?我能找到的所有文件似乎都假设网站本身(W1)知道用户何时应该终止会话 - 在我们的案例中,W1不知道会话到期(或者至少声明修改)的“触发器”将会来自AD。

回答

1

开箱即用 - 无。

声明不是动态的 - 它们只在登录时创建。

我能想到的唯一方法就是为您的应用程序。每隔一段时间轮询一次广告,如果成员资格被删除,然后做一个应用程序注销“隐藏”。

当用户下一次尝试做某事时,WIF将会看到他们没有会话,会去ADFS登录,ADFS会看到他们仍然登录并且访问将被自动授予,即整个过程将是透明的。

由于使用已再次登录,索赔将被更新并且成员资格将不再是索赔。

+0

谢谢;我怀疑是这样的... – MarkH 2012-08-14 15:02:41