C# 具有动态用户名和密码的WCF自定义身份验证
我使用自定义身份验证实现了一个WCF服务,当我将用户名和密码的常量字符串传递到UsernameAuthentication类、Validate方法并在其中进行验证时,它可以正常工作。但有没有一种方法可以传递动态用户名、密码并验证它们。我如何实现这个并访问这个类中的那些值C# 具有动态用户名和密码的WCF自定义身份验证,c#,wcf,wcf-security,C#,Wcf,Wcf Security,我使用自定义身份验证实现了一个WCF服务,当我将用户名和密码的常量字符串传递到UsernameAuthentication类、Validate方法并在其中进行验证时,它可以正常工作。但有没有一种方法可以传递动态用户名、密码并验证它们。我如何实现这个并访问这个类中的那些值 class UsernameAuthentication : UserNamePasswordValidator { public override void Validate(strin
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服务中支持身份验证/授权的许多方法。我真的无法查询数据库。我有一个令牌值,它是为用户在服务中发出的每个请求创建的。我需要将该令牌传递给服务并在调用中验证它。我正在寻找将其发送到服务头或缓存它们的方法,如果以前有人实现过的话。