UserNamePasswordValidator如何从SOAP标头读取用户名密码



我正在使用自定义UserNamePasswordValidator进行用户身份验证。下面是代码,它运行良好。

我想了解这个方法是如何从SOAP头的UserNameToken中获取用户名和密码的。

public class DistributorValidator : UserNamePasswordValidator
    {
        public override void Validate(string userName, string password)
        {
            if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password)) 
            {
                throw new FaultException("Username and password required", new FaultCode("9001"))
................

您应该打开WCF日志记录(或使用Fiddler)来查看soap消息的外观。在那里你会看到代币。WCF有一个非常复杂的模型来从消息中提取凭据。安全标头有一个(反)序列化程序,每个令牌(username、x.509等)都有自己的反序列化程序。

相关内容

  • 没有找到相关文章

最新更新