1

我正在尝试实现从 web 层到 WCF 层的声明委托。

使用从 ClaimsIdentity BootstrapContext 获得的 ActAs 令牌非常有效。

在 Web 层从 ACS 收到的所有声明都正确传递到 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 也包含我要添加的声明,或者有没有办法从当前的 ClaimsIdentity/Principle 生成 SecurityToken,我可以将其用作令牌(因为这将包含额外的索赔)。

4

1 回答 1

2

You'd do the same technique in the WCF layer -- use a ClaimsAuthenticationManager to transform the claims.

于 2013-10-15T17:44:48.200 回答