关于java提供的所谓的安全机制jaas

09-04-13 bloodrate

在了解jaas之前一直搞不懂安全问题,以往我们做系统的权限都是由系统开发人员自己完成,比如局长有所有功能权限,管理员只有创建用户的权限等等。。。我起先还以为jaas是一个基于快速构建类似权限策略的框架,可是我了解了之后发现不是
jaas提供了系统访问权限而不是应用级别的权限,jaas宣扬的是安全,而平常我们说的访问是用户权限,我突然意识到这两个概念的不同,安全是作为权限背后的保障机制出现的,比如用户定义权限“张三登陆系统不能进入申报页面”,这直接影响了系统流程,那么如果用jaas描述,很难讲“张三登陆系统不能读取名为submit.txt的文件”在整个应用系统中有什么业务含义。所以jaas几乎没法用来控制流程和表现业务,而是用来作为权限背后的保障机制。比如:“张三不能进入申报页面”,而进行申报的第一个环节就是读取submit.txt,开发人员实现这个权限全靠隐藏申报页面,但是倘若张三用某个软件或者系统bug显示了这个隐藏页面(看起来不难),那么如果在policy中配置张三不能读取submit.txt的策略,纵使张三突破隐藏页面的防线,也没有任何办法越过jaas的控制。
所以在我认识中jaas不是用于控制系统流程和表现业务而是提供保障机制,这也是我看待“安全”和“权限”的区别,我不知道在国内项目中有多少项目特别重视jaas,至少到现在位置,我做过项目中,隐藏页面我们就默许为安全了:)

不知道我的理解对不对,请大家拍砖
[该贴被bloodrate于2009-04-13 23:03修改过]
[该贴被admin于2009-04-14 15:06修改过]

banq
2009-04-14 15:06

两者相差一段距离,不过可以衔接,你先研究一下RBAC