浏览 9654 次
锁定老帖子 主题:对数据权限控制的实验
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-23
java 代码
java 代码
那就动手吧 java 代码
java 代码
业务方法简化为 java 代码
xml 代码
java 代码
java 代码
可是,哥们,书上说,要面向接口编程,你这样不太好吧。没事,再接口一下: java 代码
呵呵,完全是个人的一些想法,希望多批评提提意见。我想表达的意思是:也许把数据权限再抽象一些,以组件的形式来减少侵入是可以做到的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-03-24
兄弟似乎讲重构比讲数据权限控制要多一点啊。
|
|
返回顶楼 | |
发表时间:2007-03-24
liuyxit 写道 兄弟似乎讲重构比讲数据权限控制要多一点啊。
我其实要表述的是:通过acegi的provider机制的扩展是可以实现数据权限的抽象化的。而acegi的provider似乎很多文档都有很详细的说明,所以就把这个给带过了。 |
|
返回顶楼 | |
发表时间:2007-04-04
思路从局部看来还是不错的。
虽然我认为这类数据权限早已经有了比较成熟的实现方法,不是通过什么AOP和XML来搞。 用户的数据权限判断应该是数据驱动的,就是说,给每个用户设置一个关联表,如关联到所属的部门(或特殊一点,叫数据管理部门),每次查询通过一个通过的方法,根据当前用户的部门获得最终的SQL。不需要搞这么复杂。 |
|
返回顶楼 | |
发表时间:2007-04-04
Lucas Lee 写道 思路从局部看来还是不错的。
虽然我认为这类数据权限早已经有了比较成熟的实现方法,不是通过什么AOP和XML来搞。 用户的数据权限判断应该是数据驱动的,就是说,给每个用户设置一个关联表,如关联到所属的部门(或特殊一点,叫数据管理部门),每次查询通过一个通过的方法,根据当前用户的部门获得最终的SQL。不需要搞这么复杂。 其实思路就是职责分离,业务类关注自己与权限没有关系,权限部分现在仅仅从我举的例子看是比较简单的,但是如果考虑权限叠加互斥这些关系时,分开就是相当必要的了。你的方法也是要通过一个service根据当前用户的部门获得最终的SQL,我们可不可以把这个service也理解为一个权限service呢?我的方法不过是aop了一下,让业务类感受不到这个service的存在而已,而你是直接调用了 ps:在实际我的实现里,我的sql并不是保存在xml里的,而是在数据库里。更具体一点,是sql条件片段,它们根据逻辑来组装 |
|
返回顶楼 | |
发表时间:2007-04-09
可以通过多态方式解决你的问题呀?
|
|
返回顶楼 | |