鍍金池/ 問答/Java  HTML/ 前后端分離架構(gòu)如何處理字段權(quán)限控制,前端vue、后端java+mybatis

前后端分離架構(gòu)如何處理字段權(quán)限控制,前端vue、后端java+mybatis

例子:
實體類四個字段:A、B、C、D ; 兩個角色:角色1、角色2 ; 前端語言:vue ; 后端語言:java

項目需求:角色字段權(quán)限控制(比如設(shè)置 角色1擁有A、B兩個字段,意味著查看不到C、D兩個字段值)

說明:原本框架是java+mybatis+jsp,采用shiro標(biāo)簽,可以實現(xiàn)字段權(quán)限控制,但是現(xiàn)在使用java++mybatis+vue前后端分離框架,不知應(yīng)采用哪種方式實現(xiàn) 字段權(quán)限控制。

表達(dá)可能不是很清楚,望各位大神討論提意見,我再進(jìn)行補充,謝謝。

回答
編輯回答
毀了心
  1. 存儲角色,Java類.字段的關(guān)系
    例如:t_role_relationship(fk_role_id, class, field)
  2. 寫一個公共方法。

Map<Integer, RoleRelationship> map = new Hashxxx();
public Object(Object obj) {
    Object newObj = Class.forName(xxx).instance();
    Field[] fields = obj.getClass().getFields();
    for(Field f: fields) {
        if(map.keys.contains(f.getName()) {
            setMethod.invoke(newObj, invoke(obj, getMethod));
        }
    }    
    return newObj;
}
2017年4月21日 06:55
編輯回答
維她命

樓主 菜單的權(quán)限是怎么實現(xiàn)的???

2018年4月25日 10:42
編輯回答
遲月

通過登陸角色/
然后前端把角色獲取的ID(列舉/不一定是ID) 你進(jìn)行判斷該用戶權(quán)限 然后去sql數(shù)據(jù) 返給前端不就OK了嗎

2017年8月20日 16:18