实例级权限控制问题

Acegi的权限控制,掌握点皮毛了,但是实例级权限控制还是不会配置。看了些资料,acegi用ACL来控制实例级的访问权限,但仍然无法避免在DAO层次上的侵入性。而且自己觉得,对于数据量比较大的数据库,维护ACL也不是件轻松的事。权限控制信息可以放在数据库中,但是这些控制信息肯定是基于一定规则产生的,这个规则应该写在哪?没有contact类的源代码,没办法分析。

现在有个想法,不知道能不能通过使用java规则引擎来实现实例级权限控制。现在还想不到如何避免侵入性,但应该可以实现实例级权限控制的可配置吧。

=======================================

细粒度的权限控制实在是个很令人头痛的问题。acegi可以提供非常好的粗粒度权限控制能力。acegi也提供了实例级上的对域对象控制能力,但使用起来很麻烦,也无法避免侵入性问题,还要维护额外的表。另外,它无法提供对URL访问,页面元素显示这样的细粒度层次上的权限控制。现在考虑是不是不采用acegi控制细粒度的权限。
简单的替代方案就是直接写在业务逻辑中,但不符合我一向追求的业务逻辑与权限控制逻辑解藕的目标。现在有点想用规则引擎来解决这个问题,规则引擎是配置性的,方便修改。当然直接使用规则引擎可以把细粒度权限规则抽取到配置文件中,但无法避免侵入性。不知道可不可以通过AOP再来解决侵入性问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值