我正在使用自定义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"))
................
答案 0 :(得分:0)
您应该打开WCF日志记录(或使用Fiddler)来查看soap消息的外观。在那里你会看到令牌。 WCF有一个非常复杂的模型来从消息中提取凭据。安全头有一个(de)序列化器,每个令牌(用户名,x.509等)都有自己的解串器。