OpenJWeb 1.6 Java快速开发平台中数据权限的实现(ACL)

    虽然OpenJWeb中集成了Spring Security,不过数据权限并没有按照Spring Security中的 ACL框架,而是采用了一种更容易理解的方式,同样也能够实查询,编辑,删除操作的数据权限控制. 不需要为每一数据记录设置访问用户,只需要定义一个通用的规则,这样减少了很大数量的ACL记录.

 表结构: 表名(需要对此表设置数据权限),操作(查询,删除,修改),条件规则(用户条件sql),数据过滤规则sql(当条件规则符合时,所选用的数据过滤语句,此where语句会附加在主sql的where 子句中,在执行分页之前起作用)

 

条件规则可以使用java程序实现,因为有的复杂的条件可能无法用一个sql写出来,在平台中,检查用户是否符合条件规则,如角色,部门 等,如果匹配,则查找对应的sql过滤语句.需要在分页之前构造好一个完整的sql,这样查询出来的就是符合数据权限规则的,而不是查出来再过滤.

编辑权限和删除的实现方式类似,不过sql语句多少有点差异,即当用户符合某条件时,数据过滤sql只起到一个select count(*)的作用,例:select count(*) from 表名 where rowId =当前选中行 and 其他约束条件,如果count(*)>0,则可编辑或删除.

(具体实现方式以后补充详细的文档)

 

   

转载于:https://www.cnblogs.com/ajuanabc/archive/2009/03/12/2462878.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值