Hi Darren,
I am trying to add a new implementation of SecurityChecker interface which is
an Adapter. I am adding a plugin - RoleBasedChecker, and I want to add it to
the list of SecurityCheckers at first position.
However the new checker gets added to the list at the last position. The order
specified as below is not getting followed when the components are loaded.
Do you think I am missing anything to be changed?
Changes I did:
1) I added my component in the global config:
'Advanced', 'DEFAULT', 'ExtensionRegistry', 'security.checkers.order',
'roleBasedEntityAccessChecker,AffinityGroupAccessChecker,DomainChecker', 'The
order of precedence for the extensions',
'roleBasedEntityAccessChecker,AffinityGroupAccessChecker,DomainChecker',
'2013-12-18 01:45:31', 'Global', '0'
2) I added it to the spring-core-registry-core-context.xml under cloud-core
<bean id="securityCheckersRegistry"
class="org.apache.cloudstack.spring.lifecycle.registry.ExtensionRegistry">
<property name="orderConfigKey" value="security.checkers.order" />
<property name="excludeKey" value="security.checkers.exclude" />
<property name="orderConfigDefault"
value="RoleBasedEntityAccessChecker,AffinityGroupAccessChecker,DomainChecker" />
</bean>
3) The bean itself is defined in the
spring-acl-role-based-access-checkers-context.xml under the plugin
<bean id="RoleBasedEntityAccessChecker"
class="org.apache.cloudstack.acl.entity.RoleBasedEntityAccessChecker" />
Thanks,
Prachi