jboss权限控制

之前一直在使用spring security作为权限控制的框架。

最近接触的一些医学方面的开源应用都是基于jboss开发,决定做些研究。医学方面的信息安全是最重要的,很自然的,jboss的安全框架是否能满足需求是必须要考虑的。

jboss的安全框架是JBossSX,它是基于jaas,这意味着,你可以开发自己的安全应用并集成到jbossSX中,只需用遵循jaas规范,但这并不是我所关注的。我想知道的是,jboss现有的功能是否满足我的需求。

jboss首先创建各种安全域,这些安全域实际上就是指定了各种安全检测方法。这些安全域可以被各种应用所使用。

对于web应用,和tomcat中的应用一样,首先在server.xml文件中定义realm(在tomcat中,你可以使用单独的context来对某个特定引用指定特定的realm)。在jboss中,realm实际上只是一个代理,它用于将jboss中的安全域引入servlet容器。然后在web.xml中指定url的访问权限。但在jboss中,需要多做一步,因为realm只是一个代理,而jboss可以定义多个安全域,因此为了指定servlet中使用的安全域,需要用到jboss-web.xml来指定,其内容如下:

 

<jboss-web>

<security-domain>java:/jaas/simple-security-domain</security-domain>

</jboss-web>

另外如果不指定安全域,web应用将使用默认安全域。

和spring security比较,功能差不多,但是少一些可控性,比如spring中可以指定,用户一旦通过身份认证,都强制显示一个默认主页,但jaas中不行,不知道是不是规范的问题。需要注意的是,一个web应用只能使用一个安全域。

对于ejb,可以以annotation的形式,来指定使用的安全域,以及某个方法可以由谁来访问。在spring中,也可以实现对方法级别的安全控制。

但是在spring中,权限控制可以详细到数据层面,比如说,同样一张表中的数据,用户A只能访问其中的1、3、5条记录,这方面我在jboss中还没有看到,不过这方面的需求,目前还没有碰到过。

总之,从目前的了解看来,jboss的安全框架可以基本满足我现有的安全需求。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值