论坛首页 Java企业应用论坛

JAAS 学习笔记

浏览 15954 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (10)
作者 正文
   发表时间:2009-04-15  
你们做的权限,就只是隐藏了显示元素,而不是这个元素所能触发的动作?诧异。
0 请登录后投票
   发表时间:2009-04-15   最后修改:2009-04-16
JAAS的最大特点就是灵活和标准。 Authentication及Authorization两个可以分开。 我觉得第一个A做得很好(个人觉得SUN的标准里也没有涉及太多第二个A的内容),并且也很方便,但是第二个A不是做得不是不好,是根本没有办法做好的。各个应用服务器都有自己的实现。并且实现机制和方式完全不一样。而第一个A实现却大家都遵照SUN的标准。我们现在只用这个部分。并且我也深入研究过JBoss和Tomcat里的实现, 本来写一个LoginModule, 可以在不同的地方使用, 但是涉及到Role这个概念,就搞得不能完全通用,最近我发现在JBoss5里的容器安全部分的实现和Jboss4的有些许不同。我们的产品要修改了。Tomcat的授权是用Realm来实现的,但是JBoss里EJB的权限是用Interceptor来实现的。我觉得尤其在使用EJB的时候,如果涉及权限,还是无法抛开JAAS吧。包括Weblogic也是一样的。如果想控制EJB这种与容器关系密切的权限的话,还真离不开JAAS这个东西。

凡事都有两面性,我们不能一棒子打死。如果没有用武之地,也早就该销声匿迹了。
0 请登录后投票
   发表时间:2009-04-16  
其实Authorization并不复杂,只是不能通用而已。
如果用EJB开发的话,没有理由不用JAAS。
0 请登录后投票
   发表时间:2009-04-16  
weizh 写道
你们做的权限,就只是隐藏了显示元素,而不是这个元素所能触发的动作?诧异。


很正常,就是省事省心,虽然这样做不对,但是看起来用户好像并不需要,企业应用对数部署在企业内网,安全都交代给前端硬件了,然后就充当回掩耳盗铃,不了了之了呗,看起来你对这个很诧异,可能你做高端应用比较多的缘故。
0 请登录后投票
   发表时间:2009-04-17  
acegi也是一个不错的开源安全框架。

0 请登录后投票
   发表时间:2009-04-17  
这个东西好用 还是acegi好使啊~~
0 请登录后投票
   发表时间:2009-04-17   最后修改:2009-04-17
JAAS应用于底层的安全控制,由SecurityManager、ClassCloader等完成,比如你想某个用户只能读取/tem的文件,或只能在10000端口上监听,那这个时候JAAS是最好的方法。如需要实现“某个用户不能删除用户”进行控制,这是个业务的权限控制,可能JAAS是不适合的。可以自定义Filter等方式实现,有很多应用用SpringSecurity实现,针对一些非常细的权限控制可能SpringSecurity可能无法完成,比如某个用户不能调用deleteUser.action这个功能,而这个信息保存在数据库中,可以动态通过界面进行修改。
我个人认为JAAS是个非常强大的功能,但是在真实的应用中我还没有用过(见过一个系统使用,但没有得到源码),并且使用还有很多知识需要学习。
不知道javaeye有没有人在真实项目中使用过JAAS。我想如果一个应用没有使用JAAS的话,这个系统是非常危险的,所有业务权限控制都会没用。
0 请登录后投票
   发表时间:2009-04-17  
zhxp791008 写道
JAAS应用于底层的安全控制,由SecurityManager、ClassCloader等完成,比如你想某个用户只能读取/tem的文件,或只能在10000端口上监听,那这个时候JAAS是最好的方法。如需要实现“某个用户不能删除用户”进行控制,这是个业务的权限控制,可能JAAS是不适合的。可以自定义Filter等方式实现,有很多应用用SpringSecurity实现,针对一些非常细的权限控制可能SpringSecurity可能无法完成,比如某个用户不能调用deleteUser.action这个功能,而这个信息保存在数据库中,可以动态通过界面进行修改。
我个人认为JAAS是个非常强大的功能,但是在真实的应用中我还没有用过(见过一个系统使用,但没有得到源码),并且使用还有很多知识需要学习。
不知道javaeye有没有人在真实项目中使用过JAAS。我想如果一个应用没有使用JAAS的话,这个系统是非常危险的,所有业务权限控制都会没用。


就是...就是..
概念好 --- 好用 --- 有用 --- 易于工程化
是不同概念和过程
0 请登录后投票
   发表时间:2009-04-18  
Spring的流行造就了Spring Security的流行。JAAS框架或许没有给工程应用提供一个完整性的指南,但这并不等同于JAAS就不支持。与Web集成进行权限控制,动态修改权限控制(Policy提供)都是完全支持的。当我看了JAAS的大部分代码,看了相应文档之后,发觉这真是一个不错的框架。作为我辈IT从业人员,可以从中学习一二,学习一些框架上的设计思路。我想这比熟练使用框架或知道某一个配置细节更为身心有益。
0 请登录后投票
   发表时间:2009-04-21  
jaas框架刚开始是为了代码执行的安全性设计的,后来加入了subject和principal,User-Centric 的东西。policy文件只是java的一个默认实现,我们可以自己写policy代码的,check你所需要拦截的permission,例如需要对例如某行记录某人没有权限删除检查,policy 的implies可以包含这些决策信息,然后和后台的metadata数据库来比对,就可以知道当前用户有没有这样的权限了。有关容器的授权有个jacc的框架,似乎主流的container都有实现,可以check WebResourcePermission, EJBResourcePermission等等,大概是这样,我也记不清了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics