0

私はセキュリティの問題を構築することに慣れていません。現在、RBAC モデルに基づいてプロジェクトを開発しており、Spring Security 3 を選択して実装しています。

RBAC ではすべてのロールにパーミッションがあることが知られており、ユーザーが操作を実行する権限を持っているかどうかを判断する方法は、まずロールを取得してから、そのロールが持つすべてのパーミッションをフェッチすることです。サービス層 (J2EE)。

Spring Security は、サービス層を保護するためのアノテーションまたはアスペクトを提供します。しかし、それらはすべて「hasRole」などの役割レベルに基づいています。これにより、役割と許可の間の関係が切断されたため、管理者に許可を配布させる柔軟性がなくなりました。

この問題を解決する一般的な方法は何ですか? Spring Security はパーミッションで保護された実装を有効にしますか?

4

1 に答える 1

0

次の 2 つのオプションがあると思います。

  • 役割階層
  • ACL モジュール

ロール階層の概念を使用して、同じ効果を得ることができます。この場合、Spring Security レベルでは、ロールとパーミッションの両方がロールとして表されます。

ACL モジュールには真の権限があります。ただし、これらは通常、一部のドメイン オブジェクト インスタンスへのアクセスを防止するために使用されますが、一部のサービスへのアクセスを防止するためではありません。だから私はそれがあなたが望むものではないと思います。

于 2013-09-06T10:08:05.313 に答える