That worked. But initially I had tried with the small case bean id 
‘roleBasedEntityAccessChecker’ that matched the DB entry and that did not load 
the order correctly.

So should it be the class name  and not the ‘id’ in the bean definition in the 
order config?

Thanks,
Prachi

From: Darren Shepherd [mailto:darren.s.sheph...@gmail.com]
Sent: Thursday, December 19, 2013 2:30 PM
To: Prachi Damle
Cc: dev@cloudstack.apache.org
Subject: Re: Loading order of Adapter components

The names are cases sensitive.  Is there a reason you put the name as lowercase 
in the global configuration?

Darren

On Dec 19, 2013, at 3:12 PM, "Prachi Damle" 
<prachi.da...@citrix.com<mailto:prachi.da...@citrix.com>> wrote:
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

Reply via email to