C# 如何使用membershipProvider或usernamePasswordvalidator通过WCF服务创建用户

C# 如何使用membershipProvider或usernamePasswordvalidator通过WCF服务创建用户,c#,.net,wcf,membership-provider,C#,.net,Wcf,Membership Provider,我有一个连接到WCF服务的WPF应用程序。我需要对用户进行身份验证才能调用我服务的任何方法,但如果您没有帐户,我还需要用户能够注册 我首先考虑使用usernamePasswordvaldator,但是我找不到一种方法来创建一个不经过我的validator类的validate方法的register方法 然后我查看了MembershipProvider,但没有找到任何与我的案例相匹配的示例。您可以在数据库中创建一个特殊用户。将此用户添加到特殊成员角色。 此特殊用户只能创建新用户,对服务方法没有任何其

我有一个连接到WCF服务的WPF应用程序。我需要对用户进行身份验证才能调用我服务的任何方法,但如果您没有帐户,我还需要用户能够注册

我首先考虑使用usernamePasswordvaldator,但是我找不到一种方法来创建一个不经过我的validator类的validate方法的register方法


然后我查看了MembershipProvider,但没有找到任何与我的案例相匹配的示例。

您可以在数据库中创建一个特殊用户。将此用户添加到特殊成员角色。 此特殊用户只能创建新用户,对服务方法没有任何其他权限

您应该在所有方法上添加PriciplePermission attirbute,并允许新角色(CreateUserRole)仅访问CreateUser方法

[PrincipalPermission(SecurityAction.Demand, Role = "CreateUserRole")]
public void CreateUser(string username, string password)
所有其他方法应具有不同的作用:

[PrincipalPermission(SecurityAction.Demand, Role = "ADMINISTRATORS")]
public bool DeleteUser(string username)

因此,此特殊用户只能访问CreateUser方法。

只有一个方法在传递用户ID和密码时经过验证。是的,但我要找的是一个创建新用户的方法,该新用户不在数据库中。我的意思是方法未经验证
[PrincipalPermission(SecurityAction.Demand, Role = "CreateUserRole")]
public void CreateUser(string username, string password)