我正在尝试实现从web层到WCF层的索赔委托。
使用从ClaimsIdentity BootstrapContext获得的ActAs令牌,这是非常有效的。
从ACS在web层接收到的所有索赔都被正确地传递到WCF层。
这个设置类似于这里所记录的:
http://msdn.microsoft.com/en-us/library/ee517269.aspx (但我相信这个具体的例子与WIF 4有关)。
然而,我也需要充实收到的索赔,以补充我们自己的内部索赔。我是用ClaimsAuthenticationManager来做这个的。
这类似于这里所记录的:http://msdn.microsoft.com/en-us/library/system.security.claims.claimsauthenticationmanager.aspx
这很好,添加的附加声明在web应用程序中的ClaimsIdentity中随处可见。
但是,在作为从ClaimsIdentity.BootstrapContext获得的令牌的过程中,这些并不是经过的。
我理解这样做的原因是,BootstrapContext包含接收到的原始索赔,因此不包含我添加的其他内部索赔。
为了将这些内部添加的声明传递给actas令牌中的WCF层,我需要一些方法。
是否有一种方法可以让BootstrapContext也包含我正在添加的索赔,或者是否有一种方法可以从Currrent ClaimsIdentity/原则中生成一个SecurityToken,我可以使用它作为令牌(因为这样就可以包含附加的索赔)。
发布于 2013-10-15 17:44:48
您可以在WCF层中使用同样的技术--使用ClaimsAuthenticationManager来转换声明。
https://stackoverflow.com/questions/19386264
复制相似问题