快速业务通道

Spring BlazeDS Integration简介与入门 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
s="ROLE_USER" />   </user-service> </authentication-provider>

第二步就是通过客户化的安全配置文件来配置Message Broker。为了将额外的服务或是安全配置到Spring管理的Message Broker上,我们需要对MessageBrokerFactoryBean增加一些额外的配置处理器。该处理器实现了两个方法:processBeforeStartup及processAfterStartup,它们可以在Message Broker的启动前后为其设定相关的配置。

要想配置Message Broker的安全信息,我们需要设定两个处理器。其一是登录命令,它提供了认证与授权;其二是一个安全配置处理器,它保护个别的通道与URL。

LoginCommand是BlazeDS中的一个接口名,它用于定义客户化的认证与授权过程。接下来,SpringSecurityLoginCommand bean就将Spring Security与BlazeDS security集成起来,将BlazeDS发出的进行认证与授权的调用传递给Spring管理的安全上下文。下面的代码片段声明了该bean的一个实例并引用了之前定义的安全上下文:

<bean id="loginCommand"    class="org.springframework.flex.messaging.security.SpringSecurityLoginCommand">   <constructor-arg ref="_authenticationManager"/> </bean>

第二个过程需要定义一个安全配置处理器以作为pointcut advisor,它定义了保护每个通道及URL的机制。pointcut advisor是Spring AOP的一部分,定义了在某个方法调用之前需要调用的advice。本质上,它会过滤对远程服务的调用然后阻止未授权的调用。

BlazeDS在内部通过AMF Filter来执行消息调用的预处理与后续处理。这些Filter的工作方式类似于Servlet Filter并遵循着标准的pipe-and-filter设计模式。这样,每个Filter都能阻止对消息的进一步处理。该安全过程会通知通道的AMF Filter来增加Spring管理的安全。

为了定义安全处理器,首先需要向WEB-INF/flex/services-config.xml文件中添加两个额外的通道。

<channel-definition id="my-protected-amf"     class="mx.messaging.channels.AMFChannel">   <endpoint url="http://{server.name}:{server.port}/{context.root}/     gorilla/protected/messagebroker/amf"     class="flex.messaging.endpoints.AMFEndpoint"/> </channel-definition> <channel-definition id="my-protected-by-id-amf"     class="mx.messaging.channels.AMFChannel">   <endpoint url="http://{server.name}:{server.port}/{context.root}/      gorilla/protected2/messagebroker/amf"     class="flex.messaging.endpoints.AMFEndpoint"/> </channel-definition>

Spring BlazeDS Integration简介与入门(4)

时间:2011-01-20 infoq 译:张龙

接下来我们定义一个端点源(endpoint source),它配置了需要保护的端点或通道以及访问它们所需的角色。对于本示例来说,我们只定义一种用户角色,然后配置一个需要保护的URL及端点:

<bean id="configAttribute"    class="org.springframework.security.ConfigAttributeDefinition">   <constructor-arg type="java.lang.String" value="ROLE_USER"/> </bean> <bean id="endpointSource"   class="org.springframework.flex.messaging.security.EndpointDefinitionSource">   <constructor-arg>     <bean class="org.springframework.security.util.AntUr

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号