2012-12-15 106 views
0

我有一個連接到WCF服務的WPF應用程序。我需要用戶進行身份驗證才能調用我的服務的任何方法,但如果您沒有帳戶,我還需要用戶才能註冊。如何使用membershipProvider或usernamePasswordvalidator通過WCF服務創建用戶

我首先想到了使用usernamePasswordvaldator,但我找不到一種方法來創建一個不通過驗證器類的validate方法的註冊方法。

然後我看到了MembershipPorvider,但沒有找到任何符合我的情況的例子。

+0

只要有一種方法可以驗證您傳遞用戶ID和密碼的位置。 – Paparazzi

+0

是的,但我正在尋找的是一種方法來創建一個尚未在數據庫中的新用戶 –

+0

我的方法未經驗證 – Paparazzi

回答

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方法。