我通过iHost
的实例ServiceHost
托管soap webservice;身份验证配置为
HttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
iHost.Credentials.UserNameAuthentication.UserNamePasswordValidationMode
= UserNamePasswordValidationMode.Custom;
iHost.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator
= new CustomValidator();
主机本身可以正常工作,但我也希望从托管服务本身访问客户端凭据。这可以通过当前的身份验证设置来实现,还是不可能?
答案 0 :(得分:0)
在同事的帮助下找到答案。用户名可以通过OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name
访问;这个问题可以看作是this question的副本。