0

次のインターフェイスを使用してクライアントに役割と操作を渡すAzManストアの前にwcfサービスがあります。

    [OperationContract]
    bool AuthenticateUser(string password, string appName);

    [OperationContract]
    string[] GetRoles(string storelocation, string appName);

    [OperationContract]
    string[] GetOperations(string storeLocation, string appName, string selectedRole);

クライアントはWindows認証を使用してこのサービスに接続します(ただし、ユーザーは自分のIDを再確認するためにパスワードを送信する必要があります)。最終的に、このサービスは、各クライアントが選択した役割に基づいて実行できる一連の操作を提供します。

新しいSilverlightビジネスアプリケーションを開いて、このテンプレートで認証/承認がどのように機能するかを理解しようとしました。また、テンプレートで既に作成されているログインボックスにWebサービスをフックする方法の例を見つけるためにWebを精査しましたが、私はこれを行う方法として完全に途方に暮れています!

誰かアドバイスはありますか?

4

1 に答える 1

1

ビジネス アプリケーション テンプレートには、User オブジェクトと AuthenticationBase クラスに基づく AuthenticationService があります。AuthenticationBase には、独自のセキュリティ メカニズムを使用するためにオーバーライドできる仮想メソッドがあります。

たとえば、ユーザー名とパスワードに基づく Login メソッドがあります。このメソッドは、名前とロールを持つ IUser を返します。

インターフェイスを確認した後、IUser のサブインターフェイスを作成して許可された操作のリストを含め、生成された User クラスを変更してこのサブインターフェイスを実装します。また、AuthenticationService の Login および関連メソッドをオーバーライドして、既存の Azman ベースのコードを使用します。

于 2010-05-29T16:06:11.570 に答える