可以从服务实现中读取客户端凭证吗?
本文关键字:客户端 凭证 读取 服务 实现 | 更新日期: 2023-09-27 18:10:24
我通过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
访问;这个问题可以看作是这个问题的重复。