我最近完成了STS设置的创建,需要在STS上自己公开一些WCF服务方法。到目前为止,登录会向声明提供程序发送一个令牌,声明提供程序设置所有蛤蜊,然后将用户交还给前端,以便正常工作。我需要实现一些WCF函数,需要检查用户是否有一个有效的令牌来触发该方法。我已经研究过并尝试过配置WSFederationHttpBind但收效甚微。由于某种原因,它似乎通过“Windows cardspace”向客户端询问证书,我找不到通过客户端的WCF调用分配已生成的令牌的方法。正确方向上的任何指针都会很棒我整天都绞尽脑汁,显然没有找到合适的东西!
P.S STS使用WIF创建/分配令牌
答案 0 :(得分:1)
WIF SDK中提供了一个简单的示例。这里稍微复杂一点:http://msdn.microsoft.com/en-us/library/ff359113.aspx
答案 1 :(得分:1)
当你说“似乎是出于某种原因通过”Windows Cardspace“要求客户提供证书时”你的意思是当客户端调用服务操作时,你会获得CardSpace的UI,要求用户选择一些凭据吗?
如果是这样,要取消此操作,您需要设置
channelFactory.Credentials.SupportInteractive = false;