如何将(声明)安全令牌传递给WIF启用WCF服务

hit*_*tsy 7 wif

我很想知道如何从已经对启用WIF的WCF服务进行身份验证的WIF应用程序发送安全令牌.

任何援助都将得到满足

Dav*_*ans 6

答案并不简单,但以下步骤构成了"推荐模式",并在以下MSDN文章中进行了说明: 使用AD FS 2.0进行身份委派循序渐进指南

综上所述

  1. 允许Web应用程序访问特殊令牌(Bootstrap令牌),该令牌可用于代表使用STS进行身份验证的用户通过在web.config中添加项目来请求服务:

    saveBootstrapTokens="true"

  2. 在启用WCF WIF的服务和STS之间创建新的信任,以便它"知道"该服务可以充当另一个经过身份验证的用户(ActsAS).希望您正在使用ADFS v2,因为我想用ActsAs编写自定义STS的所有管道并不是微不足道的.

  3. 调用WCF服务时,您将创建一个专门传递BootStap令牌的新通道:

    channel = factory.CreateChannelActingAs(callerToken);

由于所有频道创建以及WCF服务和Web应用需要与STS服务通信的程度,我对性能有点担心.