If you are using Hibernate, you can automatically run the acl scheme against db by adding it to persistence.xml :
<property name="hibernate.hbm2ddl.import_files" value="/import.sql"/> <property name="hibernate.hbm2ddl.import_files_sql_extractor" value="org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor" />
and adding a schema to /resources/import.sql
You can list all objects of type X with resolution Y as follows:
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
However, the Spring Security ACL is fundamentally flawed in terms of Row security due to pagination issues. You must make Row Security in the database with views or built-in tools if your db supports them.
Neil McGuigan
source share