Spring mvc Spring ACL权限与角色
我正在开发一个使用SpringACL的业务应用程序,我希望对特定的域对象拥有粒度权限 根据,角色和权限在SpringACL中本质上是相同的。在我看来,概念上的区别在于角色具有1个或多个其他授予的权限或权限层次结构,而权限只是不在任何层次结构中的角色 因此,我希望Spring mvc Spring ACL权限与角色,spring-mvc,spring-security,Spring Mvc,Spring Security,我正在开发一个使用SpringACL的业务应用程序,我希望对特定的域对象拥有粒度权限 根据,角色和权限在SpringACL中本质上是相同的。在我看来,概念上的区别在于角色具有1个或多个其他授予的权限或权限层次结构,而权限只是不在任何层次结构中的角色 因此,我希望OP\u USER\u MANAGEMENT\u PERM是一种可以授予的权限,它允许用户管理此应用程序中的其他用户。任何用户,包括普通用户,在其帐户被授予OP\u user\u MANAGEMENT\u PERM权限时,都应该能够执行这
OP\u USER\u MANAGEMENT\u PERM
是一种可以授予的权限,它允许用户管理此应用程序中的其他用户。任何用户,包括普通用户,在其帐户被授予OP\u user\u MANAGEMENT\u PERM
权限时,都应该能够执行这些操作
我大部分时间都在工作,但我一直在理解ACL授权策略。出于某种原因,如果我没有:
<bean class="org.springframework.security.core.authority.GrantedAuthorityImpl">
<constructor-arg value="OP_USER_MANAGEMENT_PERM"/>
</bean>
在这方面:
<bean id="aclAuthorizationStrategy" class="org.springframework.security.acls.domain.AclAuthorizationStrategyImpl">
<constructor-arg>
<list>
<bean class="org.springframework.security.core.authority.GrantedAuthorityImpl">
<constructor-arg value="ROLE_ADMIN"/>
</bean>
<bean class="org.springframework.security.core.authority.GrantedAuthorityImpl">
<constructor-arg value="ROLE_ADMIN"/>
</bean>
<bean class="org.springframework.security.core.authority.GrantedAuthorityImpl">
<constructor-arg value="OP_USER_MANAGEMENT_PERM"/>
</bean>
</list>
</constructor-arg>
</bean>
然后,应用程序将不允许具有OP\u USER\u MANAGEMENT\u PERM
的普通用户更改其他用户的权限,因为我收到以下错误org.springframework.security.acls.model.NotFoundException:无法找到已传递权限和SID的匹配ACE
但是当我加上那个块的时候,它能工作吗?这可以吗?我也发现了这个问题,但它并没有真正回答是否需要使用BasePermission.ADMINISTRATION来允许用户向其他用户授予权限,或者我是否可以在使用BasePermission.ADMINISTRATION的同时使用其他权限,如OP_USER_MANAGEMENT_PERM?