Prior to this commit, the ObjectIdentity id had to be a number. This commit allows for domain objects to use UUIDs as their identifier. The fully qualified class name of the identifier type can be specified in the acl_object_identity table and a ConversionService can be provided to BasicLookupStrategy to convert from String to the actual identifier type. There are the following other changes: - BasicLookupStrategy has a new property, aclClassIdSupported, which is used to retrieve the new column from the database. This preserves backwards-compatibility, as it is false by default. - JdbcMutableAclService has the same property, aclClassIdSupported, which is needed to modify the insert statement to write to the new column. Defaults to false for backwards-compatibility. - Tests have been updated to verify both the existing functionality for backwards-compatibility and the new functionality. Fixes gh-1224
34 lines
1.4 KiB
XML
34 lines
1.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
|
|
|
<import resource="jdbcMutableAclServiceTests-context.xml"/>
|
|
|
|
<bean id="aclClassIdUtils" class="org.springframework.security.acls.jdbc.AclClassIdUtils">
|
|
<property name="conversionService">
|
|
<bean class="org.springframework.core.convert.support.DefaultConversionService"/>
|
|
</property>
|
|
</bean>
|
|
<!-- Overridden bean definitions -->
|
|
|
|
<bean id="aclService" class="org.springframework.security.acls.jdbc.JdbcMutableAclService">
|
|
<constructor-arg ref="dataSource"/>
|
|
<constructor-arg ref="lookupStrategy"/>
|
|
<constructor-arg ref="aclCache"/>
|
|
<property name="aclClassIdSupported" value="true"/>
|
|
<property name="aclClassIdUtils" ref="aclClassIdUtils"/>
|
|
</bean>
|
|
|
|
<bean id="lookupStrategy" class="org.springframework.security.acls.jdbc.BasicLookupStrategy">
|
|
<constructor-arg ref="dataSource"/>
|
|
<constructor-arg ref="aclCache"/>
|
|
<constructor-arg ref="aclAuthorizationStrategy"/>
|
|
<constructor-arg>
|
|
<bean class="org.springframework.security.acls.domain.ConsoleAuditLogger"/>
|
|
</constructor-arg>
|
|
<property name="aclClassIdSupported" value="true"/>
|
|
<property name="aclClassIdUtils" ref="aclClassIdUtils"/>
|
|
</bean>
|
|
</beans>
|