【发布时间】:2013-07-28 17:14:18
【问题描述】:
每次客户端调用我的 WCF 服务时,我都会将该请求记录到数据库中,其中将包含该客户端的用户名等详细信息。
我目前正在对我的 WCF 服务使用自定义身份验证。
是否有可能在每次调用我的 WCF 服务时以某种方式获取调用者的用户名,还是每次调用都传递用户名?
【问题讨论】:
标签: c# .net wcf authentication wcf-security
每次客户端调用我的 WCF 服务时,我都会将该请求记录到数据库中,其中将包含该客户端的用户名等详细信息。
我目前正在对我的 WCF 服务使用自定义身份验证。
是否有可能在每次调用我的 WCF 服务时以某种方式获取调用者的用户名,还是每次调用都传递用户名?
【问题讨论】:
标签: c# .net wcf authentication wcf-security
要检索调用者的用户名,您可以从 System.IdentityModel.Selectors.UserNamePasswordValidator 继承并在您认为合适的时候覆盖 Validate 方法。 至于按调用实例化模式,WCF 会为每个调用创建新的服务实例,因此您的每个调用都应使用正确的凭据进行身份验证。我认为您可以在打开代理时指定一次凭据,并且该代理每次请求对服务进行操作时都会提供凭据(直到代理关闭并且您一起创建一个新代理)。 此链接可能有用 - http://www.codeproject.com/Articles/96028/WCF-Service-with-custom-username-password-authenti
【讨论】: