四象封印の数据过滤

最后更新于:2022-04-01 23:47:08

> ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/309b1a427717fdc1d620269049d178d2_258x276.png) > 四象封印:用于封锁列数据或行数据,是利用数据过滤来封锁不想让别人看见的数据! #### 需求背景 需求背景:列数据过滤 只有财务角色才可以看见订单金额字段,其它角色看其它字段信息. 需求背景:行数据过滤 上海总代理角色只能查看上海地区的数据 前置技能:元对象和菜单均可配置过滤条件 #### 行数据过滤条件举例 ~~~ <%if(user.me.region != 0){%> region = ${user.me.region} <%}else if(user.me.city != 0){%> city = ${user.me.city} <%}else if(user.me.province != 0){%> province = ${user.me.province} <%}%> ~~~ 解释: user=eova.eova_user表 me=demo.member表 在登录时将member对象set到User对象上 region,city,province=省市区ID 效果解读: 省长看全省数据,市长看全市数据,区长看全区数据 > PS:角色判定直接使用 user.rid #### 列数据按角色授权: 1.6-beta1 开始支持 OSSConfig override EovaConfig.authField() ~~~ @Override protected void authField() { super.authField(); //添加字段授权规则 //语法:元对象编码.元字段英文名->允许查看的角色1ID,角色2ID addAuthField("orders.money->1,2"); } ~~~ > 同理,也可以用配置文件或DB进行管理,甚至可做成功能,根据需要进一步封装和扩展
';