role

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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后台页面

?

以上是关于role的主要内容,如果未能解决你的问题,请参考以下文章

用户权限管理表结构实现user role menu user_role ,role_menu表

MySQL 8.0 ROLE管理

RBAC用户角色权限设计方案

数据库用户权限管理

进阶RBAC用户角色权限设计方案

jenkins 按角色设置管理权限