Repository: activemq Updated Branches: refs/heads/trunk e7e317dc7 -> f9451e56e
http://git-wip-us.apache.org/repos/asf/activemq/blob/f9451e56/activemq-shiro/src/test/resources/org/apache/activemq/shiro/no-ini-config.xml ---------------------------------------------------------------------- diff --git a/activemq-shiro/src/test/resources/org/apache/activemq/shiro/no-ini-config.xml b/activemq-shiro/src/test/resources/org/apache/activemq/shiro/no-ini-config.xml new file mode 100644 index 0000000..f8e04a8 --- /dev/null +++ b/activemq-shiro/src/test/resources/org/apache/activemq/shiro/no-ini-config.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- this file can only be parsed using the xbean-spring library --> +<!-- START SNIPPET: example --> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:amq="http://activemq.apache.org/schema/core" + 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-2.0.xsd + http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> + + <broker xmlns="http://activemq.apache.org/schema/core" + useJmx="false" persistent="false" populateJMSXUserID="true"> + + <destinations> + <queue physicalName="TEST.Q"/> + </destinations> + + <transportConnectors> + <transportConnector name="default" uri="tcp://0.0.0.0:61616"/> + </transportConnectors> + + <plugins> + + <bean id="shiroPlugin" class="org.apache.activemq.shiro.ShiroPlugin" + xmlns="http://www.springframework.org/schema/beans"> + <!-- This configuration doesn't rely on an INI file for config, and expects that Shiro is configured + entirely within Spring. See the Shiro securityManager bean below. --> + <property name="securityManager" ref="securityManager"/> + </bean> + + </plugins> + </broker> + + <bean id="securityManager" class="org.apache.shiro.mgt.DefaultSecurityManager"> + <!-- Do not use this cache manager in a clustered broker setup. If your broker is clustered, you should + configure a cluster-aware CacheManager, e.g. Hazelcast, Terracotta+Ehcache, etc. --> + <property name="cacheManager"> + <bean class="org.apache.shiro.cache.MemoryConstrainedCacheManager"/> + </property> + <property name="realms"> + <list> + <!-- Replace this with the real realm you're going to use that accesses your security data store: --> + <bean id="myRealm" class="org.apache.shiro.realm.text.TextConfigurationRealm"> + <property name="userDefinitions"> + <value> + system = manager,system + </value> + </property> + <property name="roleDefinitions"> + <value> + system = * + </value> + </property> + </bean> + <!-- Add other realms if necessary --> + </list> + </property> + </bean> + <bean class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/> + +</beans> http://git-wip-us.apache.org/repos/asf/activemq/blob/f9451e56/activemq-shiro/src/test/resources/shiro.ini ---------------------------------------------------------------------- diff --git a/activemq-shiro/src/test/resources/shiro.ini b/activemq-shiro/src/test/resources/shiro.ini new file mode 100644 index 0000000..5231365 --- /dev/null +++ b/activemq-shiro/src/test/resources/shiro.ini @@ -0,0 +1,64 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +[main] + +# Shiro object graph configuration here if desired/necessary + +[users] + +# users section format: +# +# username = password [, assignedRole1, assignedRole2, ..., assignedRoleN] +# +# for example: +# +# scott = tiger, users, administrators, advisory +# +# Roles and permissions assigned to roles are defined in the [roles] section +# below. By transitive association, any user assigned a role is granted the +# role's permissions. + +# ActiveMQ System User +# needed for in-VM/local connections when authentication is enabled: +system = manager, system + +[roles] + +# roles section format: +# +# roleName = wildcardPermission1, wildcardPermission2, ..., wildcardPermissionN + +# The 'system' role is assigned all permissions (*). Be careful when assigning +# this to actual users other than then system user: +system = * + +# Full access rights should generally be given to the ActiveMQ.Advisory.* +# destinations because by default an ActiveMQConnection uses advisory topics to +# get early knowledge of temp destination creation and deletion. For more info: +# +# http://activemq.apache.org/security.html +# +# So we create an 'advisory' role here with a wildcard/catch-all permissions +# for all advisory topics. To make your life easy, ensure you assign this to +# any/all users, e.g. +# +# jsmith = password, advisory, ... + +advisory = topic:ActiveMQ.Advisory* \ No newline at end of file http://git-wip-us.apache.org/repos/asf/activemq/blob/f9451e56/assembly/pom.xml ---------------------------------------------------------------------- diff --git a/assembly/pom.xml b/assembly/pom.xml index a25c085..4c29cf8 100755 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -177,6 +177,10 @@ </dependency> <dependency> <groupId>${project.groupId}</groupId> + <artifactId>activemq-shiro</artifactId> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> <artifactId>activemq-spring</artifactId> </dependency> <dependency> @@ -286,6 +290,14 @@ <artifactId>geronimo-jta_1.0.1B_spec</artifactId> </dependency> <dependency> + <groupId>org.apache.shiro</groupId> + <artifactId>shiro-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.shiro</groupId> + <artifactId>shiro-spring</artifactId> + </dependency> + <dependency> <groupId>org.apache.xbean</groupId> <artifactId>xbean-spring</artifactId> <optional>true</optional> http://git-wip-us.apache.org/repos/asf/activemq/blob/f9451e56/assembly/src/main/descriptors/common-bin.xml ---------------------------------------------------------------------- diff --git a/assembly/src/main/descriptors/common-bin.xml b/assembly/src/main/descriptors/common-bin.xml index e08078e..67c293a 100644 --- a/assembly/src/main/descriptors/common-bin.xml +++ b/assembly/src/main/descriptors/common-bin.xml @@ -172,6 +172,7 @@ <include>${pom.groupId}:activemq-jms-pool</include> <include>${pom.groupId}:activemq-pool</include> <include>${pom.groupId}:activemq-partition</include> + <include>${pom.groupId}:activemq-shiro</include> <include>${pom.groupId}:activeio-core</include> <include>commons-beanutils:commons-beanutils</include> <include>commons-collections:commons-collections</include> @@ -223,7 +224,11 @@ <include>org.linkedin:org.linkedin.zookeeper-impl</include> <include>org.linkedin:org.linkedin.util-core</include> <include>org.apache.zookeeper:zookeeper</include> - + + <!-- Apache Shiro dependencies: --> + <include>org.apache.shiro:shiro-core</include> + <include>org.apache.shiro:shiro-spring</include> + </includes> </dependencySet> <dependencySet> http://git-wip-us.apache.org/repos/asf/activemq/blob/f9451e56/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 35f7da2..54b1d64 100755 --- a/pom.xml +++ b/pom.xml @@ -107,7 +107,9 @@ <scala-plugin-version>3.1.0</scala-plugin-version> <scala-version>2.9.1</scala-version> <scala-bundle-version>2.9.1_3</scala-bundle-version> + <shiro-version>1.2.2</shiro-version> <scalatest-version>1.8</scalatest-version> + <shiro-version>1.2.2</shiro-version> <slf4j-version>1.7.5</slf4j-version> <snappy-version>1.1.0.1</snappy-version> <spring-version>3.2.5.RELEASE</spring-version> @@ -244,6 +246,7 @@ <module>activemq-ra</module> <module>activemq-rar</module> <module>activemq-run</module> + <module>activemq-shiro</module> <module>activemq-spring</module> <module>activemq-runtime-config</module> <module>activemq-tooling</module> @@ -386,6 +389,11 @@ </dependency> <dependency> <groupId>org.apache.activemq</groupId> + <artifactId>activemq-shiro</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> <artifactId>activemq-spring</artifactId> <version>${project.version}</version> </dependency> @@ -667,6 +675,34 @@ <artifactId>openjpa-persistence-jdbc</artifactId> <version>${openjpa-version}</version> </dependency> + + <!-- Optional Shiro Support --> + <dependency> + <groupId>org.apache.shiro</groupId> + <artifactId>shiro-core</artifactId> + <version>${shiro-version}</version> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.apache.shiro</groupId> + <artifactId>shiro-spring</artifactId> + <version>${shiro-version}</version> + <optional>true</optional> + </dependency> + + <!-- Optional Shiro Support --> + <dependency> + <groupId>org.apache.shiro</groupId> + <artifactId>shiro-core</artifactId> + <version>${shiro-version}</version> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.apache.shiro</groupId> + <artifactId>shiro-spring</artifactId> + <version>${shiro-version}</version> + <optional>true</optional> + </dependency> <!-- Optional Spring Support --> <dependency>