私がこれまでに調査したことのほとんどは、Apache Shiroが使いやすく、CAS(SSOなど)と簡単に統合できると言っています。両方を使用した経験がある人と、どちらを使用するのか、そしてなぜ他の人より優れているのかを尋ねるだけですか?
私は最近、城と春のセキュリティの両方を評価しなければなりませんでした。スプリングセキュリティを使用しました(実際、shiro許可文字列をより良い方法で使用するようにスプリングセキュリティを拡張しました-アノテーションのインスタンス変数を使用)。
春のセキュリティ
シロ
多くのShiro開発者はアプリケーションにSpringを使用しているため、ShiroはSpring環境で美しく機能します。これまでに受け取った一般的なフィードバックは、ShiroはSpring Securityよりも(ほとんどの人にとって)理解しやすいということです。
ただし、Webコンテナ全体で完全なセッションクラスタリングをサポートする場合は、Shiroのみがこれを簡単にサポートします。 Shiroの暗号も非常にシンプルで使いやすいです。
あなたのメンタルモデルに最適なものを選択してください-どちらもSpring環境でうまく機能します。
ShiroとSpringの両方のセキュリティを評価しました。 Shiroについて人々が主張する主な利点はシンプルですが、Spring Security(3.0)はそれほど複雑ではないと思います。セットアップには、ほぼ同じ量の構成行が必要でした。また、Spring SecurityはShiroよりも優れたドキュメントがあります。しかし、Shiroの主な問題は、OAuthまたはDigest Autheticationをサポートしていないことです(これらは将来的に含める予定です https://issues.Apache.org/jira/browse/SHIRO-2 )。結論:今日は春のセキュリティに行きます。
Shiroを使用することをお勧めします。そのコードは非常にシンプルであるため、柔軟に拡張し、必要な場所にカスタム動作を提供できます。また、Ehcacheの内部キャッシュ実装を提供します。これにより、サーバークラスターでセッションを複製できます。アプリケーション用にRBAC(ロールベースのアクセス制御)システムを設計する場合、資産レベルのアクセス許可を処理する柔軟性が提供され、そのアクセス制御メカニズムは春のセキュリティと比較して非常に柔軟です。