C# 具有动态用户名和密码的WCF自定义身份验证

C# 具有动态用户名和密码的WCF自定义身份验证,c#,wcf,wcf-security,C#,Wcf,Wcf Security,我使用自定义身份验证实现了一个WCF服务,当我将用户名和密码的常量字符串传递到UsernameAuthentication类、Validate方法并在其中进行验证时,它可以正常工作。但有没有一种方法可以传递动态用户名、密码并验证它们。我如何实现这个并访问这个类中的那些值 class UsernameAuthentication : UserNamePasswordValidator { public override void Validate(strin

我使用自定义身份验证实现了一个WCF服务,当我将用户名和密码的常量字符串传递到UsernameAuthentication类、Validate方法并在其中进行验证时,它可以正常工作。但有没有一种方法可以传递动态用户名、密码并验证它们。我如何实现这个并访问这个类中的那些值

class UsernameAuthentication : UserNamePasswordValidator
    {        
        public override void Validate(string userName, string password)
        {            
            var ok = (userName == "DynamicUserName") && (password == "DynamicPassWord");
            if (ok == false)
                throw new AuthenticationException("u/p does not match");
        }
    }

Validate
方法中,您必须查询自己的用户数据库,并检查用户名和密码是否有效。通常,您将使用RDBMS或XML文件来存储所有用户数据


请看一个支持基于角色的安全性的数据库模式示例。更好的是,您可以将ASP.NET的成员资格与WCF集成。Hva了解本节的“控制公共Web托管服务的访问和使用”。您还可以阅读Resnick、Crane和Bowen撰写的《基本WCF中的安全》一章,其中介绍了在WCF服务中支持身份验证/授权的许多方法。

我真的无法查询数据库。我有一个令牌值,它是为用户在服务中发出的每个请求创建的。我需要将该令牌传递给服务并在调用中验证它。我正在寻找将其发送到服务头或缓存它们的方法,如果以前有人实现过的话。