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

时间:2012-12-15 20:16:31

标签: c# .net wcf membership-provider

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

我首先考虑使用usernamePasswordvaldator但我找不到一种方法来创建一个不通过验证器类的validate方法的寄存器方法。

然后我看到了MembershipPorvider,但没有找到任何符合我案例的例子。

1 个答案:

答案 0 :(得分:0)

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

您应该在所有方法上添加一个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方法。