2013-07-29 43 views
1

每次客户端调用我的WCF服务时,我都希望将该请求记录到数据库中,该数据库将包含诸如该客户端的用户名等详细信息。在WCF PerCall服务上保留客户端的用户名

我正在使用自定义身份验证与我的WCF服务。

是否有可能在每次调用WCF服务时以某种方式获取调用方的用户名,还是每次都有传递用户名的方法?

回答

1

要检索调用者的用户名,您可以从System.IdentityModel.Selectors.UserNamePasswordValidator继承,并根据您的需要重写Validate Method。 至于每呼叫实例化模式,WCF会为每个呼叫创建一个新的服务实例,因此每个呼叫都应该使用正确的凭证进行认证。我认为您可以在打开代理时指定一次凭据,并且每次向代理请求对该服务的操作(直到代理关闭并且您一起创建新代理)时,代理才会显示凭证。 此链接可能有用 - http://www.codeproject.com/Articles/96028/WCF-Service-with-custom-username-password-authenti