JAAS

在和一个朋友交流权限系统方面的实现时,朋友提及到JAAS,我自己对JAAS不是那么了解,不好去评价,后来去网上查阅了不少JAAS的文档,应该说现在大致的对JAAS有些的理解了吧,个人觉得JAAS只能算是实现权限系统的另一种方式,相当于提供了一个框架,至于这个框架基于什么模型我无从评价,对比下来我仍然认为基于RBAC自行实现是更佳的方案,不过JAAS中也有可取之处,那就是它的PAM思想。
JAAS我在这里就不去做什么介绍了,我只说说基于JAAS如何去实现权限系统,因为JAAS本身就是提供了一个权限授予、认证的框架,JAAS主要通过policy的文件方式来实现权限的授予,在policy文件中描述某类的方法授予给哪个subject执行,在校验权限中则通过subject.doAs或doPrivileged来实现权限的控制(subject在登录后即可获取),这时JAAS允许自己扩展policy的校验策略,从框架来分析我们可以看出基于JAAS确实可以实现通常权限系统的需求,如对于系统操作的权限控制,可通过policy的方式定制将模块的功能(某类的某方法)grant给具体的subject来实现模块功能权限的授予,通过subject.doAs、doPrivileged来实现模块功能权限的校验。
上面说的是基于JAAS的一个基本的实现,但通常我们都想采用基于角色的方式,这个时候就要将上面policy中的subject替换成角色,同时扩展jaas本身采用的policy策略,以实现基于数据库等的方式,如果要实现权限的继承、排斥和包含这些的时候就得在policy中进行。
其实按上面的说法已经可以发现,思想上已经变成了在基于JAAS的框架上去实现RBAC,而在这种情况下还不如直接自己实现,因为如果在基于JAAS上去实现的话,那在实现的时候还得去受JAAS的限制,还不如直接自己实现RBAC,不是吗?
呵呵,也许是我受RBAC思想影响太深......^_^
不过JAAS的PAM思想是完全值得吸取的,采用这种可以使得多种校验、授权模式的支持,这个在以后自己实现权限系统时也是值得改进的。
也许自己的评价是不太合理的,因为我觉得JAAS设计的用意并不在应用系统的权限控制上,也就是说我现在评价的完全不是它设计的本意、来源,JAAS更为适合象tomcat这种管理端的应用上,^_^

posted on 2005-11-11 21:17 BlueDavy 阅读(1798) 评论(0)  编辑  收藏 所属分类: Java


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2005年11月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜