java 数据级别权限过滤
最近在研究数据级别的权限过滤,但是试了好多种方式,自己想想感觉又行不通,有做过这方面的大神么,一块讨论下,给点思路。
首先说下要实现的功能:(列字段暂不考虑)
其实说白了就两个问题,
第一,如何配置
第二,如何拼接sql语句
第一步就是要实现根据不同的角色的配置查询不同的表记录。
那么首先就要考虑,如何配置,那么配置当然是配置条件了,例如org_no='.....'
但是有的表不一定是按照单位排序,也可能是按照其他排序,
之前可能有想过将表结构映射到前台做一个功能来存储,但是后来又想有的查询可能是多张表,这下就不好办了
那么第二部就要考虑如何来实现sql语句的条件拼接,首先想到的就是spring后拦截,
但是实际上查询出来的东西再过滤一遍,感觉这种方式不是特别好
再一个就是写一个公共方法,返回一个where条件后语句,然后再拼sql语句的后面加上这个方法。
目前能想到的就这么多了,大家有做过这方面的经验么,分享讨论下。。。