私はセキュリティの問題を構築することに慣れていません。現在、RBAC モデルに基づいてプロジェクトを開発しており、Spring Security 3 を選択して実装しています。
RBAC ではすべてのロールにパーミッションがあることが知られており、ユーザーが操作を実行する権限を持っているかどうかを判断する方法は、まずロールを取得してから、そのロールが持つすべてのパーミッションをフェッチすることです。サービス層 (J2EE)。
Spring Security は、サービス層を保護するためのアノテーションまたはアスペクトを提供します。しかし、それらはすべて「hasRole」などの役割レベルに基づいています。これにより、役割と許可の間の関係が切断されたため、管理者に許可を配布させる柔軟性がなくなりました。
この問題を解決する一般的な方法は何ですか? Spring Security はパーミッションで保護された実装を有効にしますか?