• role


    角色权限管理改造方案


    #   为什么需要角色

    1. 现有的权限方案
    2. .net后台权限管理

    在后台类中配置,权限 = 一级菜单:二级菜单:三级菜单;

    通过在view模板中判断是否有权限显示菜单

    后端通过权限配置拦截url请求。

    1. Java端权限管理

    现在只有项目菜单权限管理

    通过类

    1. User {
    2. }

    UserCookies{

    private String accessToken;

    private String userId;

    private String userName;

    private String realName;

    private boolean systemAdmin;

    private List<ProjectId> projectAuth;

    }

    通过projectAuth判断该用户有多少个项目。

    通过systemAdmin判断是否有菜单权限,每个项目的菜单权限都是一样的

    Js中配置如下,isAdmin为true时显示菜单

    {

    defaultValue: ['课程资源', '课程列表'],

    title: '课程资源',

    show: true,

    link: '',

    icon: 'icon-course',

    target:false,

    items: [

    //课程资源->课程资源

    {

    title: '课程资源',

    items: [

    {

    title: '课程列表',

    isAdmin: true,

    link: '/admin/course/courselist?project_id=' + projectId,

    icon: null,

    parent_title: '课程资源'

    },

    {

    title: '课程标签',

    isAdmin: true,

    link: '/admin/course/courseslabel?project_id=' + projectId,

    icon: null,

    parent_title: '课程资源'

    }

    ]

    }

    ]

    }

    1. 兼容改造方案
    2. .net功能模块权限控制

      java后台开放一个接口让.net调用判断是否有权限(入参为资源编码)。.net需要配置请求服务跟资源编码的关系

       

      需求:java端增加接口判断该用户是否有权限,.net需要配置请求服务跟资源编码的关系

       

    3. Java功能模块权限控制

    资源信息存储:

    建枚举类配置资源编码跟资源名称,

    例如:

    COURSE("课程资源", "course"),

    COURSE_LIST("课程列表", "course:list"),

    COURSE_TAG("课程标签", "course:tag"),

    course为课程资源一级菜单,course:list为课程资源下二级菜单。

    权限分配时,数据库保存course:list跟角色的对应关系.

    需求:权限模块梳理配置到类里面

    菜单显示控制:

    在view模板中写判断逻辑来控制菜单显示

    例如该用户角色权限列表下有course:list,course:tag,

    在view模板中写死,当权限列表中有course:list,就显示course:list对应的菜单。

    需求:开发菜单显示页面

    后端访问控制:

    在控制器方法中注解资源编码,这样一个资源编码就可以控制多个控制器方法。

    需求:对每个需要权限控制的请求注解

    1. 页面开发对应的java后端服务改造

    需求:根据页面的具体请求开发相应的接口

    1. 前端页面开发
    1. 项目用户权限管理

      参考已有的.net后台页面,不保存用户信息中的账户信息跟备注信息。

    2. 项目角色权限管理

      参考已有的.net后台页面

    3. 系统用户权限管理

      参考已有的.net后台页面,在现有角色权限模型中增加真实姓名字段

    1. 系统角色权限管理

      参考已有的.net后台页面

  • 相关阅读:
    键盘记录器,可截获到 QQ 的password
    《python源代码剖析》笔记 pythonm内存管理机制
    Unity 捕获IronPython脚本错误
    POJ 3020 Antenna Placement 最大匹配
    XCL-Charts画线图(Line Chart)
    android设置背景色为透明
    设计时属性文件
    Windows Mobile基础
    Wince 的CAB安装包
    惠普的 ipaq112 恢复出厂设置
  • 原文地址:https://www.cnblogs.com/cleardo/p/5169823.html
Copyright © 2020-2023  润新知