2012-11-07 51 views
0

我想知道如果有人試圖實現spring acl功能,而不是使用數據庫,請使用簡單的屬性文件。例如:Spring ACL屬性文件

myobject.input.field1 = ACL_READ
myobject.input.field2 = ACL_READ,ACL_WRITE

和在jsp:

<sec:accesscontrollist hasPermission="ACL_READ" domainObject="myobject.input.field1"> 
This will be shown if the user has either of the permissions 
represented by the values "1" or "2" on the given object. 
    <input type="text" name="field1" /> 
</sec:accesscontrollist> 

C.F. http://static.springsource.org/spring-security/site/docs/3.1.x/reference/taglibs.html#d0e6991

回答

0

首先,你的方法

myobject.input.field1=ACL_READ 
myobject.input.field2=ACL_READ,ACL_WRITE 

不包含任何有關SID S(安全ID)被授予指定的權限。 SID是可以授予權限的任何主題。例如,您的應用程序或用戶組的用戶。 對myobject.input.field1對象授予ACL_READ權限的人是誰?我想你忘了它。其次,保存這樣一個proprties文件只是實現你自己的數據庫系統。你最好使用現有的軟件。

如果您不想使用PostgreSQL或Oracle等全面的RDBMS,則可以使用基於文件的關係數據庫。

現有和測試軟件:

  • SQLite的

  • HSQLDB

+0

好吧,你的權利,ACL是不是我想要的。我想在ROLES和「object」之間建立一個鏈接 'myobject.input.field1 = ROLE_READ' 'myobject.input.field2 = ROLE_READ,ROLE_WRITE' RDBMS在我看來對於我想要的簡單使用來說非常複雜。 –