3

誰がメソッドを呼び出しているかを確認し、Java アノテーションを使用してメソッドの実行を許可するかどうかを制限する可能性があるかどうか知っていますか?

たとえば、クライアントとサーバーがあるとします。さまざまな役割を持つ複数のユーザーがいて、クライアントにログインします。次に、(同じクライアントで)異なるユーザーがサーバー上で getMethod を呼び出します。

Java アノテーションを使用してこのメ​​ソッドを呼び出すことができるユーザーを制限できますか?

お気に入り:

@Role(role="AllowedRole")
public ReturnType getMethod() {
   ...
}
4

3 に答える 3

0

注釈にはコードは含まれず、魔法のように処理されることもありません。メタデータを定義するだけなので、注釈を処理してアクセス検証を実行する何らかのエンジンが必要です。

これを行うフレームワークやツールはたくさんあります。たとえば、AspectJ、Spring フレームワーク、および Java EE を使用してこれを実装すると、同様のアノテーションがサポートされます。

動的プロキシ、バイト コード エンジニアリング、またはその他の手法を使用して、このロジックを自分で実装することもできます。

そのため、実装しているアプリケーションの種類をよりよく説明してください。おそらくより適切なアドバイスを提供できます。

于 2013-06-11T13:32:18.357 に答える
0

これは、 Spring SecurityのMethod Securityに適しているようです。

于 2013-06-11T13:32:28.507 に答える