7

Spring ACLについて読んだことがありますが、あまり有能ではないようです。例えば:

  1. タイプXのすべてのオブジェクトを権限Yでリストする方法はありません
  2. 新しいデプロイメントのスキーマを自動的に作成する方法はありません

ACLには何を使用していますか?ACLをドメインモデルから切り離すのは賢いですか?

4

3 に答える 3

12

Spring ACLモデルを使用しようとしましたが、扱いにくいことがわかりました。最終的には、独自のはるかに単純な(ただし一般的ではない)実装をロールバックし、スキーマを処理するためのSpring Securityピース(accessDecisionManagers、Voters、Interceptors)を作成しました。お役に立てば幸いです。

于 2010-10-20T16:33:58.400 に答える
4

ApacheShiroをご覧になることをお勧めします

サイトから:Apache Shiroは、認証、承認、暗号化、およびセッション管理を実行する、強力で使いやすいJavaセキュリティフレームワークです。ShiroのわかりやすいAPIを使用すると、最小のモバイルアプリケーションから最大のWebおよびエンタープライズアプリケーションまで、あらゆるアプリケーションをすばやく簡単に保護できます。

多くの人は、Shiroが権限を処理する方法を好みます

于 2012-04-25T21:47:32.840 に答える
0

persistence.xmlHibernateを使用している場合は、これを次のように追加することで、dbに対してaclスキーマを自動的に実行できます。

<property name="hibernate.hbm2ddl.import_files" value="/import.sql"/>

<property name="hibernate.hbm2ddl.import_files_sql_extractor" value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />

スキーマをに追加します/resources/import.sql

次のように、権限Yを持つタイプXのすべてのオブジェクトを一覧表示できます。

select 
  *
from acl_entry a 
join acl_object_identity b on a.acl_object_identity = b.id
join acl_class c on b.object_id_class = c.id
where
  class = X
  and mask = Y

ただし、Spring Security ACLは、ページネーションの問題により、行のセキュリティに関して根本的に欠陥があります。データベースで行セキュリティがサポートされている場合は、ビューまたは組み込みツールを使用してデータベースで行セキュリティを実行する必要があります。

于 2015-02-19T18:14:09.240 に答える