何时使用CreateChannelWithActAsToken / WithIssuedToken / WithOnBehalfOfToken?

时间:2014-10-16 13:13:42

标签: wcf wcf-security

将安全令牌传输到WCF服务时,我应该在哪种情况下使用以下类似的声音方法?

文档没有详细说明预期用途。 : - (

1 个答案:

答案 0 :(得分:1)

  • CreateChannelWithIssuedToken使用当前进程令牌。
  • CreateChannelWithOnBehalfOfToken使用外部实体(不是当前进程)。服务将使用它来“代表”任何称为服务的人进行呼叫。
  • CreateChannelWithActAsToken同时使用当前流程和外部实体。

来自Window Identity Foundation FAQ

  

从WS-Trust协议的角度来看:

     
      
  • ActAs RST元素表示   请求者想要一个包含大约两个声明的令牌   不同的实体:请求者和表示的外部实体   通过ActAs元素中的标记。

  •   
  • OnBehalfOf RST元素表示请求者想要一个令牌   仅包含一个实体的声明:外部实体   由OnBehalfOf元素中的标记表示。

  •   
     

ActAs功能通常用于需要的场景中   复合委托,其中颁发的令牌的最终收件人   可以检查整个代表链,不仅仅看客户,   但是所有的中间人。