使用UserNamePasswordValidator时,如何在WCF服务中获取SOAP用户名



向我的WCF服务发出SOAP请求。如何访问请求的Envelope.Header.Security.UserNameToken.Username字段中使用的用户名?我正在使用自定义UserNamePasswordValidator来检查凭据。

在我的例子中,System.ServiceModel.ServiceSecurityContext.Current.PrimaryIdentity.Name持有UserNamePasswordValidator.Valide方法中使用的用户名(来自请求的SOAP标头(。它可以在WCF服务类/方法中访问。

public class Service1 : IService1
{
public Response ServiceMethod(Request request)
{
string userName = System.ServiceModel.ServiceSecurityContext.Current.PrimaryIdentity.Name;
// ...
}
}

相关内容

  • 没有找到相关文章

最新更新