数据权限(接口模式)

数据权限表示用户能访问哪些数据,不能访问哪些数据。通过实现com.ruisitech.ext.service.DataControlInterface 接口来控制数据权限。

通过用户所属组织机构控制权限示例:

/**
* 通过实现DataControlInterface 接口实现数据权限控制。
* 此接口在系统每次查询中都会调用,接口返回数据权限过滤的SQL片段。
* @author zys
* @date 2015-2-20
*/
public class DataControlImpl 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 "";
    }
}

然后通过Springboot注入bean:

package com.ruisitech.bi.config;

import com.ruisitech.ext.service.DataControlImpl;
import com.ruisitech.ext.service.DataControlInterface;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class DataControlConfig {

    @Bean
    public DataControlInterface dataControl(){
        DataControlInterface dc = new DataControlImpl();
        return dc;
    }
}

results matching ""

    No results matching ""