2010-10-20 27 views
6

Spring ACL hakkında okudum ama çok yetkin görünmüyor.Spring ACL iyi bir ACL uygulaması mıdır?

  1. izni Y
  2. otomatik ACL için kullandığınız Ne yeni dağıtımları

için şemaları oluşturmak için Hiçbir şekilde tip X tüm nesneleri listelemek için hiçbir şekilde: Örneğin? ACL'nin etki alanı modelinden ayrıştırılmasını sağlamak akıllıca mıdır?

+0

Sonunda ne yaptınız? Kendininkini yuvarla ? – NimChimpsky

cevap

11

Spring ACL modelini kullanmayı denedik ve bu özelliği görünmez bulduk. Şemamızın üstesinden gelmek için, daha basit (ama aynı zamanda daha az jenerik), kendi uyguladığımız ve daha sonra Spring Security parçalarını (accessDecisionManagers, Voters, Interceptors) yazdık. Umarım yardımcı olur.

3

Apache Shiro'a bir göz atmak isteyebilirsiniz.

Siteden: Apache Shiro, kimlik doğrulama, yetkilendirme, kriptografi ve oturum yönetimi gerçekleştiren güçlü ve kullanımı kolay bir Java güvenlik çerçevesidir. Shiro’nun anlaşılması kolay API'sı sayesinde, en küçük mobil uygulamalardan en büyük web ve kurumsal uygulamalara kadar herhangi bir uygulamayı hızlı ve kolay bir şekilde sağlayabilirsiniz.

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

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

ve /resources/import.sql

için şemayı ekleyerek:

Birçok kişi Shiro handles permissions

+1

Shiro ile ilgili tek böcek, OpenID veya OAuth değildir. Bunun ana sorun raporu BEŞ yaşındadır ve sadece haftada bir kez en iyi şekilde dikkat çeker. Bir utanç, aksi takdirde, Shiro, Bahar ya da Bahar ACL'den daha iyi, gerçekten çok iyi görünüyor – Dennis

0

Hibernate kullanarak, otomatik persistence.xml bu ekleyerek db karşı acl'ler şema çalıştırabilir yolu tercih

X türündeki tüm nesneleri şu şekilde izin verilen Y ile listeleyebilirsiniz:

Bununla birlikte, sayfalandırma sorunları nedeniyle Spring Security ACL, Satır Güvenliği açısından temelde hatalıdır. Üste | DB'nizi destekliyorsa, Row Security'i veritabanında görünümler veya yerleşik araçlarla yapmalısınız.

İlgili konular