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

C# 可以从服务实现中读取客户端凭据吗?,c#,wcf,http,C#,Wcf,Http,我通过ServiceHost的实例iHost托管soap Web服务;身份验证配置为 HttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; iHost.Credentials.UserNameAuthentication.UserNamePasswordValidationMode = UserNamePasswordValidationMode.Custom; iHo

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

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

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

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