2

私の理解が間違っているかもしれませんが、アドバイスをお願いします。

要件:

(1) ユーザー A とユーザー B は、Web サービス SayHello にアクセスしたいと考えています。

(2) ユーザー A のみがアクセス許可を持っています。

(3) SayHello Web サービスは単純に文字列「hello」を返す

以前:

(1) SayHello を呼び出すには、SayHello?wsdl に従ってクライアントを作成します。 - 成功

(2) ESB を介してプロキシ サービス SayHelloProxyService を作成し、このプロキシ サービスを SayHello サービスにホストし、SayHelloProxyService?wsdl に従ってクライアントを作成します。 - 成功

今:

次の図のように、Identity Server を内部に追加し、ユーザー A にのみアクセス許可を与えます。 ここに画像の説明を入力

質問:

今のところ、SayHelloProxyService を呼び出したい場合は、クライアントのコードを変更する必要があるかどうかを考えています。ユーザー名などのいくつかのトークンを運ぶか、SayHelloProxyService に何を送信しますか? もしそうなら、クライアントコードを書く方法は?私の理解は完全に間違っているかもしれませんが、大きな助けになる小さな例があれば、誰かがこれについて知っていますか?

前もって感謝します。

4

1 に答える 1

2

私の理解では、間違った権限を設定しています。「構成 > ユーザーと役割 > 役割」の役割のアクセス許可は、サーバー自体に対してローカルでのみ有効です。これは、シナリオでは IS ですが、外部サービスに対しては有効ではありません。

クライアントのコードを変更するのではなく、何らかのサービスを承認するために IS が必要な場合は、[1] で説明されているような単純な XACML ポリシーを作成し、ポリシー決定ポイントとして WSO2IS を有効にすることができます。

[1] http://wso2.org/library/articles/2010/10/using-xacml-fine-grained-authorization-wso2-platform

于 2013-03-26T11:29:45.303 に答える