[ 
https://issues.apache.org/jira/browse/AMQ-5304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Torsten Mielke updated AMQ-5304:
--------------------------------

    Description: 
When configuring the authorization plugin with a 
<tempDestinationAuthorizationEntry> that also set a groupClass, this groupClass 
is not properly applied to the TempDestinationAuthorizationEntry instance. 

E.g. consider this example config
{code:xml}
      <authorizationPlugin>
        <map>
          <authorizationMap 
groupClass="org.apache.karaf.jaas.boot.principal.RolePrincipal">
            <authorizationEntries>
              <authorizationEntry queue=">" read="admin" write="client,admin" 
admin="client,admin" />
              <authorizationEntry topic=">" read="client,admin" write="admin" 
admin="admin"/>
              <authorizationEntry topic="ActiveMQ.Advisory.>" 
read="admin,client" write="admin,client" admin="admin"/>
           </authorizationEntries>

           <tempDestinationAuthorizationEntry>
             <tempDestinationAuthorizationEntry read="client,admin" 
write="client,admin" admin="client,admin" 
groupClass="org.apache.karaf.jaas.boot.principal.RolePrincipal"/>
           </tempDestinationAuthorizationEntry>

         </authorizationMap>
        </map>
      </authorizationPlugin>
{code}


The groupClass attribute is set on the TempDestinationAuthorizationEntry 
instance but we don't apply the groupClass to the AuthorizationEntry by calling 
afterPropertiesSet();

As a result, authorization fails when trying to create a temp destination. 
This can happen when deploying the broker inside a Karaf container and have 
Karaf do the authentication (such as in JBoss A-MQ). 
The groupClass is properly set on the authorizationEntries within the 
<authorizationEntries> list and only fails to be applied properly on the 
tempDestinationAuthorizationEntry. 





  was:
When configuring the authorization plugin with a 
<tempDestinationAuthorizationEntry> that also set a groupClass, this groupClass 
is not properly applied to the TempDestinationAuthorizationEntry instance. 

E.g. consider this example config
{code:xml}
      <authorizationPlugin>
        <map>
          <authorizationMap 
groupClass="org.apache.karaf.jaas.boot.principal.RolePrincipal">
            <authorizationEntries>
              <authorizationEntry queue=">" read="admin" write="client,admin" 
admin="client,admin" />
              <authorizationEntry topic=">" read="client,admin" write="admin" 
admin="admin"/>
              <authorizationEntry topic="ActiveMQ.Advisory.>" 
read="admin,client" write="admin,client" admin="admin"/>
           </authorizationEntries>

           <tempDestinationAuthorizationEntry>
             <tempDestinationAuthorizationEntry read="client,admin" 
write="client,admin" admin="client,admin" 
groupClass="org.apache.karaf.jaas.boot.principal.RolePrincipal"/>
           </tempDestinationAuthorizationEntry>

         </authorizationMap>
        </map>
      </authorizationPlugin>
{code}


Its groupClass property is called and set to the class specified in Spring but 
we don't apply the groupClass to the AuthorizationEntry. 




> groupClass not applied to TempDestinationAuthorizationEntry
> -----------------------------------------------------------
>
>                 Key: AMQ-5304
>                 URL: https://issues.apache.org/jira/browse/AMQ-5304
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.10.0
>            Reporter: Torsten Mielke
>            Assignee: Torsten Mielke
>              Labels: authorization, security
>
> When configuring the authorization plugin with a 
> <tempDestinationAuthorizationEntry> that also set a groupClass, this 
> groupClass is not properly applied to the TempDestinationAuthorizationEntry 
> instance. 
> E.g. consider this example config
> {code:xml}
>       <authorizationPlugin>
>         <map>
>           <authorizationMap 
> groupClass="org.apache.karaf.jaas.boot.principal.RolePrincipal">
>             <authorizationEntries>
>               <authorizationEntry queue=">" read="admin" write="client,admin" 
> admin="client,admin" />
>               <authorizationEntry topic=">" read="client,admin" write="admin" 
> admin="admin"/>
>               <authorizationEntry topic="ActiveMQ.Advisory.>" 
> read="admin,client" write="admin,client" admin="admin"/>
>            </authorizationEntries>
>            <tempDestinationAuthorizationEntry>
>              <tempDestinationAuthorizationEntry read="client,admin" 
> write="client,admin" admin="client,admin" 
> groupClass="org.apache.karaf.jaas.boot.principal.RolePrincipal"/>
>            </tempDestinationAuthorizationEntry>
>          </authorizationMap>
>         </map>
>       </authorizationPlugin>
> {code}
> The groupClass attribute is set on the TempDestinationAuthorizationEntry 
> instance but we don't apply the groupClass to the AuthorizationEntry by 
> calling afterPropertiesSet();
> As a result, authorization fails when trying to create a temp destination. 
> This can happen when deploying the broker inside a Karaf container and have 
> Karaf do the authentication (such as in JBoss A-MQ). 
> The groupClass is properly set on the authorizationEntries within the 
> <authorizationEntries> list and only fails to be applied properly on the 
> tempDestinationAuthorizationEntry. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to