前后端分离架构如何处理字段权限控制,前端vue、后端java+mybatis

例子:
实体类四个字段:A、B、C、D ; 两个角色:角色1、角色2 ; 前端语言:vue ; 后端语言:java

项目需求:角色字段权限控制(比如设置 角色1拥有A、B两个字段,意味着查看不到C、D两个字段值)

说明:原本框架是java+mybatis+jsp,采用shiro标签,可以实现字段权限控制,但是现在使用java++mybatis+vue前后端分离框架,不知应采用哪种方式实现 字段权限控制。

表达可能不是很清楚,望各位大神讨论提意见,我再进行补充,谢谢。

阅读 5.7k
3 个回答

通过登陆角色/
然后前端把角色获取的ID(列举/不一定是ID) 你进行判断该用户权限 然后去sql数据 返给前端不就OK了吗

  1. 存储角色,Java类.字段的关系
    例如: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;
}

楼主 菜单的权限是怎么实现的啊?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题