0

Swing ベースの多層 Java アプリケーションがあり、各モジュールにはバックエンドとフロントエンドがあります。

次に、Spring Security を使用してセキュリティを追加します。オーバーヘッドがあるため、AspectJ を使用しないことにしました。

バックエンドのすべてのメソッド呼び出しが Spring Security のアノテーションベースのモデルによってインターセプト (または委譲) されるように、Spring メソッド呼び出しの承認を Java Security Manager に何らかの形で注入することは可能ですか?

ノート:

アプリケーションには膨大な数のパッケージが含まれており、オブジェクトは new 演算子またはリフレクション手法を使用してインスタンス化されています。すべてのインスタンス化を修正し、すべてのオブジェクトを Spring Bean に変更することはできません。Java Security Manager は、オブジェクトの構築方法に関係なく、すべてのメソッド呼び出しをインターセプトします。これが、何らかの形で Spring Security Method 認可を Java Security Manager に注入する必要がある理由です。

4

1 に答える 1

1

Spring AOP を使用するのに AspectJ は必要ないため、Spring を使用してアプリケーションを構成する限り、ネイティブ JDK サポートを使用しても問題はありません (とにかくデフォルトです)。あなたが試してみてうまくいかなかったのかどうかはわかりません。そのため、質問のより具体的な情報がここで役立つかもしれません。

Java Security Manager はおそらく不必要な気晴らしですが、それで何をするつもりだったのかをもう少し詳しく説明できれば、それも役立つかもしれません。

ちなみに、AspectJ で言及されているオーバーヘッドがどのようなものかはわかりませんが、それが重要であると思われる場合は、最初にテストすることをお勧めします。ほとんどのアプリケーションの実行時に大きな違いはないからです。他のアプローチよりも高速になることさえあります。

于 2012-11-18T21:50:38.867 に答える