我正在使用HttpHandlers使用经过身份验证的用户上下文“即时”生成PDF报告文件。 但是,要创建报告PDF文件,我需要使用调用者(经过身份验证的用户)的上下文在安全的WCF服务上调用方法。
我看到了很多Windows身份验证的答案,但我使用普通的旧表单身份验证,因此答案不适用。 服务端的身份验证是使用ASP.NET成员身份(承载HttpHandler的服务器)完成的。
我应该(我希望)能够将调用者上下文传递给服务。
我担心自己不够清楚。
我所拥有的是WCF服务和HttpHandler。用户使用具有ASP成员资格的WCF服务进行身份验证。
我想要做的是,在HttpHandler中,能够做到
SetContextAsCaller();
myWCFService.MyMethodCall();
并使用HttpCaller的上下文调用MyMethodCall()
来传递其ASP票证/用户名等。
答案 0 :(得分:1)
您可以 - 根据您使用的绑定和传输协议 - 使用UserName / Passwort身份验证,并指示WCF服务器端使用ASP.NET成员资格提供程序来验证传入的调用方。
在WCF安全方案中查看Fundamentals of WCF Security和此blog post series - 它们包含许多有关如何使用和设置WCF安全性的非常有用的信息。
这有帮助,还是需要其他信息?如果是这样的话:你需要什么?
马克
更新:
好的,在您评论之后,这里有一些文章专门处理冒充调用者的WCF服务 - 希望这些帮助: