Spring MVC+BlazeDS+Flex框架实践:Security篇

来源:互联网 发布:matlab聚类算法 编辑:程序博客网 时间:2024/05/18 18:02

    在Spring MVC+BlazeDS+Flex框架实践:Database篇的基础上,这次要加入的是Spring Security的配置与应用。至于Spring Security的原理及配置详解网上已经有很多可参考的文章,在这里就不再重复了。

一、Spring Security配置

1)添加Application-Security.xml

在JAVA工程src下创建Application-Security.xml

2)修改web.xml

在添加Application-Security.xml后,需要在web.xml中将其添加到初始化加载列表中
修改web.xml以下配置:

 

二、Security类创建

在JAVA工程src下创建package com.common.security

创建SecurityLogListener.java

 

创建SecurityLogoutHandler.java

 

创建FlexUserDetails.java

此类中的信息与数据库的结构有关

 

创建FlexUserDetailsService.java
     此类中具体执行了用户登录时的授权等操作,其中明确了当用户为"admin"时,为其授予ROLE_ADMIN、ROLE_USER、ROLE_ANONYMOUS权限;而其他用户则只有ROLE_USER、ROLE_ANONYMOUS权限。不同权限的访问范围在Application-Security.xml中进行控制。本例中只有ROLE_ADMIN权限的角色才能访问modules/admin下的页面。

 

创建AuthenticationHelper.java

     此类在用户登录时被调用

 

三、配置AuthenticationHelper

1)发布AuthenticationHelper

在Application-Flex.xml中添加如下配置:

2)创建CommonModule.mxml

在FLEX工程modules/common目录下创建CommonModule.mxml,用以实现Security验证

3)引用authenticationHelper
在FLEX工程remoting-config.xml中添加如下配置:

3)修改Index.mxml

在Index.mxml中调用authenticationHelper,修改后的Index.mxml内容如下:

 

四、编译运行
1)编译FLEX工程
选择Project—>Clean—>TestProject

2)拷贝FLEX编译目录bin-debug/modules到JAVA工程WebRoot下

3)启动本地数据库

4)启动服务器

5)服务器正常启动后,在浏览器内输入(其中9090为服务器端口号)

http://localhost:9090/TestProject/modules/common/Index.html

 

运行结果:
以Sky用户登录

 

登录首页

 

查看modules/admin/UserModule.swf,由于权限控制将无法访问

 

查看modules/common/CommonModule.swf

 

以admin用户登录

 

查看modules/admin/UserModule/swf,由于已经为该用户授予了权限,因此可以访问

 

查看modules/common/CommonModule.swf

 

 

到此Spring MVC+BlzeDS+Flex框架的搭建三个过程都已经结束,如果今后还有新的内容我会及时和大家分享。

 

原创粉丝点击