数据权限(接口模式)
数据权限表示用户能访问哪些数据,不能访问哪些数据。通过实现com.ruisi.vdop.service.frame.DataControlInterface 接口来控制数据权限。
通过用户所属组织机构控制权限示例:
/**
* 通过实现DataControlInterface 接口实现数据权限控制。
* 此接口在系统每次查询中都会调用,接口返回数据权限过滤的SQL片段。
* @author zys
* @date 2015-2-20
*/
public class DataControlImp implements DataControlInterface {
/**
* @param u 会话中保存的用户信息
* @param master 此次查询中使用的主表的名称
*/
public String process(User u, String master) {
int lvl = u.getDeptLvl();
if(lvl == 1){
return " and " + "lv3_id = '"+u.getDeptId()+"' " ;
}else if(lvl == 2){
return " and " + "lv2_id = '"+u.getDeptId()+"' " ;
}else if(lvl == 3){
return " and " + "dept_id = '"+u.getDeptId()+"' " ;
}
return "";
}
}
然后在 applicationContext-persistence.xml 中注入您创建的类(替换以前的系统默认类):
<!-- 数据权限bean -->
<bean class="com.ruisitech.ext.service.DataControlImpl" name="dataControl"></bean>