19

そのため、Wicket 1.4 フレームワークを使用する Web ベースのアプリケーションがあり、Spring Bean、Java Persistence API (JPA)、および OpenSessionInView パターンを使用しています。私は宣言型のセキュリティ モデルを見つけたいと思っていますが、XML 構成のゴブを必要としません。私は注釈を好みます。

これまでのオプションは次のとおりです。

  1. Spring Security (ガイド) - 完全に見えますが、それを Wicket と組み合わせたすべてのガイドは今でも Acegi Security と呼ばれているため、古いものに違いないと思います。

  2. Wicket-Auth-Roles (ガイド 1およびガイド 2 ) - ほとんどのガイドでは、これを Spring Security と組み合わせることが推奨されており、@Authorize("ROLE1","ROLE2",etc) の宣言型スタイルが気に入っています。私はすでに org.apache.wicket.protocol.http.WebApplication を拡張しており、Spring はすでに org.apache.wicket.spring.SpringWebApplicationFactory の背後でそれをプロキシしているため、AuthenticatedWebApplication を拡張する必要があることを懸念しています。

  3. SWARM / WASP (ガイド) - これは最新のように見えますが (主な貢献者は何年も前に亡くなっています)、プリンシパルのアクセス許可を宣言する JAAS スタイルのテキスト ファイルはすべて嫌いです。また、ユーザーがやりたいことすべてに対して Action クラスを作成するという考えも好きではありません。安全なモデルもすぐにはわかりません。さらに、Authn の例はありません。

さらに、多くの人が最初のオプションと 2 番目のオプションを混在させることを推奨しているようです。ただし、ベストプラクティスが何であるかはまったくわかりません。

4

2 に答える 2

8

あなたがこのブログ投稿を見たかどうかわからないので、参照としてここに追加し、最後だけ引用します。

2009/03/12 更新: Wicket アプリケーションの保護に関心のある方は、Wicket-Auth-roles と呼ばれる Wicket-Security の代替手段があることにも注意してください。このスレッド は、2 つのフレームワークのステータスの概要を説明します。wicket-auth-roles と Spring Security の統合については、こちらで説明しています。
wicket-auth-roles の魅力的な機能の 1 つは、Java アノテーションを使用して承認を構成できることです。一元化された構成ファイルよりもエレガントだと思います。ここに例があります。

上記の情報とあなたが提供した情報に基づいて、アノテーションも好むので、Spring Security を使用した Wicket-Auth-Roles を使用します (つまり、ガイド 2 )。このクラスは extends しているため、拡張AuthenticatedWebApplicationは問題になりませんWebApplication。また、Spring コンテキストからアプリケーション オブジェクトをプルすることSpringWebApplicationFactoryも機能するはずです。

そして、あなたの懸念が本当に大きい場合、これはテストIMOで非常に簡単かつ迅速に確認できます:)

于 2010-02-23T00:52:09.697 に答える
2

私たちは Wicket-security を何年も使用しており、jaas ファイルや注釈と一緒に使用しています。jaas ファイルを定義するのは非常に面倒で、維持するのはほとんど不可能です...

注釈を使用すると、すべてのページのアクションとプリンシパルを定義する必要があります。これには時間がかかりますが、ユーザーがロールと承認を動的に定義できるようにします。WicketTester を使用してすべてのプリンシパルをテストすることもできます。

3 つのパッケージにはそれぞれ長所 (短所) があり、好みの問題であり、アプリケーションのサイズにも依存します。

于 2010-04-28T09:48:24.930 に答える