0

WCF サービスに接続する WPF アプリケーションがあります。サービスの任意のメソッドを呼び出すためにユーザーを認証する必要がありますが、ユーザーがアカウントを持っていない場合に登録できるようにする必要もあります。

最初に usernamePasswordvaldator を使用することを考えましたが、バリデータ クラスの検証メソッドを経由しない登録メソッドを作成する方法が見つかりませんでした。

その後、MembershipPorvider を見ましたが、私のケースに一致する例は見つかりませんでした。

4

1 に答える 1

0

データベースに特別なユーザーを作成できます。このユーザーを特別なメンバーシップロールに追加します。この特別なユーザーは、新しいユーザーのみを作成でき、サービスメソッドに対する他の権限はありません。

すべてのメソッドにPriciplePermissionattirbuteを追加し、新しいロール(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メソッドにのみアクセスできるようにします。

于 2013-02-01T12:56:54.503 に答える