可以从服务实现中读取客户端凭据吗?

时间:2014-06-26 08:28:43

标签: c# wcf http

我通过iHost的实例ServiceHost托管soap webservice;身份验证配置为

HttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
iHost.Credentials.UserNameAuthentication.UserNamePasswordValidationMode 
    = UserNamePasswordValidationMode.Custom;
iHost.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator
    = new CustomValidator();

主机本身可以正常工作,但我也希望从托管服务本身访问客户端凭据。这可以通过当前的身份验证设置来实现,还是不可能?

1 个答案:

答案 0 :(得分:0)

在同事的帮助下找到答案。用户名可以通过OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name访问;这个问题可以看作是this question的副本。