JMS(Jboss Messaging)的一点使用心得(三)Spring扩展应用-Security
2007-11-24 20:07
621 查看
JMS Security
有些Topic和Queue需要相应的权限才能操作。
Topic和Queue的权限设定可以在</jboss-4.2.2.GA/server/messaging/deploy/jboss-messaging.sar/destinations-service.xml>中看到
<mbean code="org.jboss.jms.server.destination.TopicService"
name="jboss.messaging.destination:service=Topic,name=testTopic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="SecurityConfig">
<security>
<role name="guest" read="true" write="true"/>
<role name="publisher" read="true" write="true" create="false"/>
<role name="durpublisher" read="true" write="true" create="true"/>
</security>
</attribute>
</mbean>
如果没有设定security,则使用</jboss-4.2.2.GA/server/messaging/deploy/jboss-messaging.sar/messaging-service.xml>中默认的设定。
<attribute name="DefaultSecurityConfig">
<security>
<role name="guest" read="true" write="true" create="true"/>
</security>
</attribute>
如果想操作一个有Security的Queue或者Topic,可以使用Spring的UserCredentialsConnectionFactoryAdapter。在Spring中的设定如下:
<jee:jndi-lookup id="jmsConnectionFactory" lookup-on-startup="false" proxy-interface="javax.jms.ConnectionFactory"
jndi-name="ConnectionFactory">
<jee:environment>
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099
</jee:environment>
</jee:jndi-lookup>
<bean id="myConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"
lazy-init="true">
<property name="targetConnectionFactory" ref="jmsConnectionFactory" />
<property name="username" value="guest" />
<property name="password" value="guest" />
</bean>
<bean id="jmsTemplate" lazy-init="true" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="myConnectionFactory" />
<property name="defaultDestinationName" value="A" />
</bean>
有些Topic和Queue需要相应的权限才能操作。
Topic和Queue的权限设定可以在</jboss-4.2.2.GA/server/messaging/deploy/jboss-messaging.sar/destinations-service.xml>中看到
<mbean code="org.jboss.jms.server.destination.TopicService"
name="jboss.messaging.destination:service=Topic,name=testTopic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="SecurityConfig">
<security>
<role name="guest" read="true" write="true"/>
<role name="publisher" read="true" write="true" create="false"/>
<role name="durpublisher" read="true" write="true" create="true"/>
</security>
</attribute>
</mbean>
如果没有设定security,则使用</jboss-4.2.2.GA/server/messaging/deploy/jboss-messaging.sar/messaging-service.xml>中默认的设定。
<attribute name="DefaultSecurityConfig">
<security>
<role name="guest" read="true" write="true" create="true"/>
</security>
</attribute>
如果想操作一个有Security的Queue或者Topic,可以使用Spring的UserCredentialsConnectionFactoryAdapter。在Spring中的设定如下:
<jee:jndi-lookup id="jmsConnectionFactory" lookup-on-startup="false" proxy-interface="javax.jms.ConnectionFactory"
jndi-name="ConnectionFactory">
<jee:environment>
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099
</jee:environment>
</jee:jndi-lookup>
<bean id="myConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"
lazy-init="true">
<property name="targetConnectionFactory" ref="jmsConnectionFactory" />
<property name="username" value="guest" />
<property name="password" value="guest" />
</bean>
<bean id="jmsTemplate" lazy-init="true" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="myConnectionFactory" />
<property name="defaultDestinationName" value="A" />
</bean>
相关文章推荐
- JMS(Jboss Messaging)的一点使用心得(十五)Spring扩展应用—延迟发送Message
- JMS(Jboss Messaging)的一点使用心得(四)Spring扩展应用-可修改的JMS ConnectionFactory
- JMS(Jboss Messaging)的一点使用心得(十四)Spring扩展应用—用单线程接收Queue
- JMS(Jboss Messaging)的一点使用心得(十一)Spring扩展应用-可自动重连的JmsMessageListenerContainer的另一种实现
- JMS(Jboss Messaging)的一点使用心得(五)Spring扩展应用-可自动重连的JmsMessageListenerContainer
- JMS(Jboss Messaging)的一点使用心得(六)Messaging扩展应用-Message Bridge
- JMS(Jboss Messaging)的一点使用心得(十三)拔网线后的重连----JMS Connection原理浅析及应用
- JMS(Jboss Messaging)的一点使用心得(二)使用Spring
- JMS(Jboss Messaging)的一点使用心得(九)实例代码
- JMS(Jboss Messaging)的一点使用心得(十)对IPv6的支持
- JMS(Jboss Messaging)的一点使用心得(十六)复数JMS Server监听-JBoss Remoting里存在的问题
- JMS(Jboss Messaging)的一点使用心得(十二)多线程的ClassLoader
- JMS(Jboss Messaging)的一点使用心得(七)JBoss invoke-动态创建Queue或者Topic
- JMS(Jboss Messaging)的一点使用心得(八)JBoss invoke-动态修改Bridge
- JMS(Jboss Messaging)的一点使用心得(一)环境配置
- spring 使用log4j的一点心得
- 简单jms连接池和一点使用心得
- 关于C++Builder 中使用 VCLSkin 换肤控件的一点心得!在OCX(ActiveX)中的应用。
- 使用Spring Boot Gradle 打war包的一点心得体会
- 使用Spring Boot Gradle 打war包的一点心得体会