2012-03-13 61 views
1

想象下面的情景。使用ADFS和WIF更新声明

用户访问站点A(ASP.NET),使用ADFS进行身份验证并获取一组声明。在某些时候,他们需要注册一个额外的服务,以便他们被重定向到一个供应站点B(ASP.NET)(也使用ADFS - 所以SSO),他们通过输入相关的详细信息进行注册并重定向回到A.

但是,部署过程的一部分将属性添加到存储库(通常为AD),我们希望这些属性构成其声明集的一部分。

要做到这一点,他们有重新认证?通过强制联合注销来做到这一点是最好的方法吗?这是由网站A还是网站B完成的?

如果他们是使用WIA的内部用户,他们会在“幕后”登录,整个过程将是透明的。

如果他们是使用FBA的外部用户会怎么样?他们不需要再次登录吗?鉴于这不是一个令人满意的用户体验,有没有办法解决这个问题?

这里有一些参考文献讨论了如何将签名的令牌作为cookie写入客户端浏览器,然后STS稍后将从cookie中验证SSO令牌。你如何用ADFS来做到这一点?

回答

2

看一看博客文章我写了类似的情景:

Refreshing Claims in a WIF Claims-Aware Application

在这种情况下,用户在本地注销,但随后重定向到他们是“在签了回来ADFS “因为他们的ADFS cookie仍然有效。这个小小的一跳对用户来说通常是透明的,并且会更新声明。

+0

谢谢 - 我已经使用您的帖子以前的其他情况。但是,他们都使用WIA。您是否尝试过使用针对FBA配置的ADFS?这是否记录在“幕后”? – nzpcmad 2012-03-13 21:20:23

+0

正确。如果您在ADFS中使用表单登录,它仍然可以工作,因为它只是查找MSIS Cookie。如果存在的话,它会自动将用户发回依赖方,就好像他们刚刚登录一样。 – 2012-03-14 00:29:33

+0

非常好 - 只是在做一些设计 - 暂时不会实现 - 但很乐意接受您的答案。 – nzpcmad 2012-03-14 00:43:56