JMS(Jboss Messaging)的一点使用心得(三)Spring扩展应用-Security

本文介绍如何在JBoss Messaging中为特定的Topic和Queue配置安全权限,并提供了使用Spring框架进行连接认证的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


JMS Security

有些TopicQueue需要相应的权限才能操作。

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>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值