我使用ADFS 2.0和WIF对我的用户进行身份验证,并将其授权给ASP.Net MVC 4应用程序WebAppA。WebAppA使用WebClient.DownloadString(url)调用另一个WebAppB,我想将委派用户的凭据传递给WebAppB以检索用户的自定义内容。
我看到了几个web应用程序使用CreateChannelActingAs调用WCF服务的例子,但我的情况并非如此。
WebAppA是否有方法检索WebAppB的ActAs(或OnBehalfOf?)令牌,并将其与WebClient一起传递给WebAppB?我看到了一些可能性,包括"承载"授权标头和在标头中插入cookie,但我不太理解这些示例,而且似乎缺少了一些东西,比如如何使用WebAppA中的BootstrapContext来检索和序列化WebAppB的令牌。
谢谢你的帮助!
--标记
是的,您可以让WebAppA调用STS,并为WebAppB请求一个ActAs令牌,使用原始令牌(用于WebAppA的令牌)作为输入,但这通常用于web服务(可能会被过度使用)。看起来你只是从WebAppB获取一个页面。为什么不使用基本的身份验证、SSL并传递发出请求的用户的参数呢?(本质上使用可信子系统方法)。