Robin's Programming World
I Love Programming As My Life!
BlogJava
首页
新随笔
联系
聚合
管理
随笔-193 评论-715 文章-1 trackbacks-0
BlazeDS结合Tomcat进行权限控制
环境:
BlazeDS 3.2.0.3978
Tomcat 6.0.29 (本例在Tomcat 5.5中不能正常运行,因为Tomcat 5.5的context部分的设计与6.0不一样)
Java5
1,在service-config.xml中加入认证和角色(组)的定义:
<
security
>
<
login-command
class
="flex.messaging.security.TomcatLoginCommand"
server
="Tomcat"
/>
<
security-constraint
id
="trusted"
>
<
auth-method
>
Basic
</
auth-method
>
<
roles
>
<
role
>
tomcat
</
role
>
</
roles
>
</
security-constraint
>
<
security-constraint
id
="users"
>
<
auth-method
>
Basic
</
auth-method
>
<
roles
>
<
role
>
role1
</
role
>
<
role
>
tomcat
</
role
>
</
roles
>
</
security-constraint
>
</
security
>
需要说明的是,这里的security-constraint tag相当于一个角色组,其id属性就是角色组的ID,如users角色组包含role1和tomcat两个角色。
auth-method tag表示认证的方式,Basic即采用HTTP Basic认证方式,也可以自己实现认证方式,可调定为Custom,关于此种认证方式,我将在稍后分享给大家。
这些角色和用户,均被定义在Tomcat的conf/tomcat-users.xml配置中:
<?
xml version='1.0' encoding='utf-8'
?>
<
tomcat-users
>
<!--
NOTE: By default, no user is included in the "manager" role required
to operate the "/manager" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
-->
<
role
rolename
="tomcat"
/>
<
role
rolename
="role1"
/>
<
role
rolename
="manager"
/>
<
user
username
="admin"
password
="admin"
roles
="manager"
/>
<
user
username
="tomcat"
password
="tomcat"
roles
="tomcat"
/>
<
user
username
="both"
password
="tomcat"
roles
="tomcat,role1"
/>
<
user
username
="role1"
password
="tomcat"
roles
="role1"
/>
</
tomcat-users
>
2,在remote-config.xml中配置具体的destination的权限约束:
<
destination
id
="Domain"
>
<
properties
>
<
source
>
com.robin.service.domain.DomainService
</
source
>
<
include-methods
>
<
method
name
="getAllDomains"
/>
<
method
name
="addOrUpdateDomain"
security-constraint
="trusted"
/>
</
include-methods
>
</
properties
>
<
security
>
<
security-constraint
ref
="users"
/>
</
security
>
</
destination
>
在此配置中,定义所有的方法只要是users角色组中的用户即可访问,但是addOrUpdateDomain方法需要trusted角色组中的用户才能访问。
3,将BlazeDS与Tomcat结合所依赖的lib复制到lib目录中,包含flex-tomcat-common.jar和flex-tomcat-server.jar两个JAR。
4,修改Tomcat目录下的conf/context.xml文件,加入如下Context(在Tomcat5.5中无法成功):
<
Valve
className
="flex.messaging.security.TomcatValve"
/>
好了,就这么简单,重启Tomcat,即可验证了。
总结一下:
1,引入了角色组的概念,这个比较好。
2,角色和用户定义依赖于Tomcat,无法定义在如DBMS中,不方便修改。
3,跨平台性不好。
4,资源与权限的映射关系在开发时已经绑定死,无法动态修改。
PS:2010.4.28. 分享给大家不依赖Tomcat容器实现认证与授权的例子,如有需要,请参考:《
BlazeDS自定义认证与权限控制
》
本Blog所有内容不得随意转载,版权属于作者所有。如需转载请与作者联系(
fastzch@163.com
QQ:9184314)。
未经许可的转载,本人保留一切法律权益。
一直以来,发现有某些人完全不尊重我的劳动成果,随意转载,提醒一下那些人小心哪天惹上官司。
posted on 2010-04-27 09:56
Robin's Programming World
阅读(2323)
评论(0)
编辑
收藏
所属分类:
Java
、
Flex & Flash
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
Ubuntu环境下Apache2与Tomcat集成
Spring 3 MVC and JSON example
Android Media Player 深入观察
[转]编写高效的Android代码
Android程序完全退出的三种方法
使用ANT批量编译Flex应用和模块(Use ANT to batch compiling application and modules of Flex)
Investigate getDeclaredMethod of Java Reflection
Eclipse空心J图标的含义
Memcached Study Notes
BlazeDS自定义认证与权限控制
<
2010年4月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(49)
给我留言
查看公开留言
查看私人留言
随笔分类
(215)
.Net(1)
DB(8)
Flex & Flash(11)
Java(72)
OS(25)
RUP(1)
weblogic(3)
Webshere(16)
其它(50)
心情(2)
翻译(1)
读书(9)
转载(16)
随笔档案
(181)
2014年8月 (1)
2014年4月 (1)
2014年2月 (2)
2014年1月 (1)
2012年11月 (1)
2012年9月 (2)
2012年7月 (1)
2012年6月 (3)
2012年1月 (2)
2011年12月 (4)
2011年10月 (1)
2011年8月 (3)
2011年7月 (2)
2011年4月 (1)
2010年11月 (2)
2010年10月 (1)
2010年9月 (2)
2010年8月 (5)
2010年7月 (1)
2010年5月 (2)
2010年4月 (7)
2010年3月 (7)
2009年12月 (6)
2009年10月 (1)
2009年9月 (1)
2009年8月 (2)
2009年6月 (3)
2009年5月 (2)
2009年4月 (2)
2009年2月 (3)
2009年1月 (4)
2008年11月 (1)
2008年10月 (2)
2008年9月 (9)
2008年8月 (4)
2008年7月 (5)
2008年5月 (2)
2008年4月 (1)
2008年3月 (3)
2008年2月 (1)
2008年1月 (7)
2007年12月 (6)
2007年11月 (6)
2007年10月 (3)
2007年9月 (1)
2007年8月 (6)
2007年7月 (4)
2007年6月 (2)
2007年5月 (3)
2007年3月 (1)
2007年2月 (1)
2007年1月 (3)
2006年12月 (7)
2006年10月 (1)
2006年8月 (3)
2006年7月 (1)
2006年6月 (5)
2006年4月 (6)
2006年3月 (2)
2006年2月 (3)
2006年1月 (1)
2005年11月 (5)
相册
文章相关图片
收藏夹
other
Friend Links
Tiger's Space
Tiger的Blog,专注于过程改进,项目管理,质量管理三个方向。
zrfunds
搜索
积分与排名
积分 - 751385
排名 - 60
最新评论
1. re: XFire完整入门教程
楼主,请问你做过xfire使用spring的jdbc模板访问数据库的例子吗,急求啊?xfire和spring的结合在不访问数据库时(就像你这个例子一样)已经跑通了,但是需要使用jdbc时老出问题。谢谢
--fqjabc
2. re: 一次JQuery性能优化实战
不需要构建DOM
--bns
3. re: Spring Security 3.x 完整入门教程
@过客
尊重人是最起码的
--bns
4. re: Flex中带有三种状态CheckBox的Tree的实现
带有3种状态CheckBox的树形组件刚好用到
收了
--bns
5. re: Spring Security 3.x 完整入门教程
AntUrlPathMatcher这个类所在jar包是哪个啊,是spring-security-core-tiger这个吗?
--iechenyb
阅读排行榜
1. XFire完整入门教程(90424)
2. Spring Security 3.x 完整入门教程(59137)
3. 使用XFire开发Web Service客户端完整入门教程(52315)
4. WebSphere6.1中使用Spring报cvc-elt.1: Cannot find the declaration of element 'beans'异常的解决办法(24194)
5. 用MKVMerge GUI合并MKV文件(16666)
评论排行榜
1. XFire完整入门教程(130)
2. Spring Security 3.x 完整入门教程(67)
3. 使用XFire开发Web Service客户端完整入门教程(33)
4. VBA编程心得(24)
5. JDK1.5API完整中文版CHM格式文档发放(可下载)(22)