role
角色权限管理改造方案
# 为什么需要角色
- 现有的权限方案
- .net后台权限管理
在后台类中配置,权限 = 一级菜单:二级菜单:三级菜单;
通过在view模板中判断是否有权限显示菜单
后端通过权限配置拦截url请求。
- Java端权限管理
现在只有项目菜单权限管理
通过类
- User {
- }
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: '课程资源'
}
]
}
]
}
- 兼容改造方案
- .net功能模块权限控制
java后台开放一个接口让.net调用判断是否有权限(入参为资源编码)。.net需要配置请求服务跟资源编码的关系
需求:java端增加接口判断该用户是否有权限,.net需要配置请求服务跟资源编码的关系
- 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对应的菜单。
需求:开发菜单显示页面
后端访问控制:
在控制器方法中注解资源编码,这样一个资源编码就可以控制多个控制器方法。
需求:对每个需要权限控制的请求注解
- 页面开发对应的java后端服务改造
需求:根据页面的具体请求开发相应的接口
- 前端页面开发
- 项目用户权限管理
参考已有的.net后台页面,不保存用户信息中的账户信息跟备注信息。
- 项目角色权限管理
参考已有的.net后台页面
- 系统用户权限管理
参考已有的.net后台页面,在现有角色权限模型中增加真实姓名字段
- 系统角色权限管理
参考已有的.net后台页面
role的更多相关文章
- 解决:win10_x64 VMware Workstation and Hyper-V are not compatible. Remove the Hyper-V role from the system before running VMware Workstation
bcdedit /set hypervisorlaunchtype off A reboot of of the Windows OS is necessary 必须重启才能生效 To enab ...
- html中role的作用
role 是增强语义性,当现有的HTML标签不能充分表达语义性的时候,就可以借助role来说明. 通常这种情况出现在一些自定义的组件上,这样可增强组件的可访问性.可用性和可交互性. role的作用是描 ...
- jedis支持哨兵主从配置role为slave
jedis功能强大,但是不能像nodejs一样指定从slave中读数据,使数据量读写量较大时读写分离,减少redis压力. 我们可以利用jedis中的方法封装一个类似于此的方法. github地址: ...
- RBAC中 permission , role, rule 的理解
Role Based Access Control (RBAC)——基于角色的权限控制 permission e.g. creating posts, updating posts role A ro ...
- Security8:删除Role 和 User
数据库的Role 和 User都是基于Specified DB的,在删除这些Principal之前,必须使用Use clause,切换到指定的DB中. sys.database_role_member ...
- 使用 fixed role 授予权限
今天下午,Leader 发mail给我,要求授予某个User对数据库只读的权限. Step1,在SQL Server中为该用户创建一个Login和User,在创建User时,建立Login 和 Use ...
- ABP 初探 之User、Role、Permission数据库设计 (EntityFramework 继承的另一种使用方法)
最近群里(134710707)的朋友都在讨论ABP源码,我把最近学习的内容记录下来,同时也分享给大家,希望正在研究ABP源码的朋友有一定帮助. 上篇介绍ABP的多语言,本篇主要介绍权限的数据库设计,用 ...
- You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1
今天在Windows Server 2008 下安装SQL SERVER 2008时,碰到如下错误: You must use the Role Management Tool to install ...
- Hibernate加载数据失败failed to lazily initialize a collection of role
在测试获取数据库中的数据或者在页面获取时,有时会遇到这样的错误提示: failed to lazily initialize a collection of role: com.exam.entity ...
- Windows Azure - Troubleshooting & Debugging: Role Recycling
每年总会碰到几次Role Recycling,处理完记录下 :) 1. 和往常一样先排查系统日志,修复异常.> 没效果 :( 2. 排查Event Viewer中的Logs,没有发现比较奇怪Lo ...
随机推荐
- springboot 整合jdbc
在springboot底层无论关系型还是非关系型数据库都是用spring-data进行交互 新建: 通过spring initialer勾选重要依赖jdbc api和mysql driver: 源码分 ...
- openlayers 使用canvas绘制圆形头像图标
记录一个使用canvas 将一张图片等比缩放,裁剪为一个圆 1.原始图片 2.绘制后在地图中呈现的样式 3.设置样式的函数 /** * 设置Style */ setStyleOnPersonLocat ...
- vue+iview 动态调整Table的列顺序
需求:因table列太多,且每个部门关注的信息不一样,拖来拖去不方便观看,客户想让Table列可以拖动,且可以保存顺序. 但是搞动态拖动太难了,我不会,于是改为操作columns数据 思路: < ...
- WPF 入门笔记 - 03 - 样式基础及模板
程序的本质 - 数据结构 + 算法 本篇为学习李应保老师所著的<WPF专业编程指南>并搭配WPF开发圣经<WPF编程宝典第4版>以及痕迹大佬<WPF入门基础教程系列> ...
- 自然语言处理 Paddle NLP - 情感分析技术及应用SKEP-实践
Part A. 情感分析任务 众所周知,人类自然语言中包含了丰富的情感色彩:表达人的情绪(如悲伤.快乐).表达人的心情(如倦怠.忧郁).表达人的喜好(如喜欢.讨厌).表达人的个性特征和表达人的立场等等 ...
- Git使用教程(带你玩转GitHub)
Git使用教程(理论实体结合体系版) 下载安装: 按照这个博客来就好 Windows系统Git安装教程(详解Git安装过程) - 学为所用 - 博客园 (cnblogs.com) Git命令大全: G ...
- 11. Mybatis的逆向工程
正向工程:先创建 Java 实体类,由框架负责根据实体类生成数据库表. Hibernate 是支持正向工 程的. 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: Java 实体类 ...
- 如何从AWS中学习如何使用AmazonVPC
目录 如何从 AWS 中学习如何使用 Amazon VPC? 随着 AWS 的迅速发展,Amazon VPC(Virtual Private Cloud)已经成为了一种非常重要的云计算基础设施.VPC ...
- JAVA 环境搭建(java 8为例)
JAVA 环境搭建 下载JDK(java 8为例) JDK下载地址:直达 JDK镜像网站: 编程宝库 java jdk镜像 安装JDK(java 8为例) 双击启动下载的exe文件 单击下一步 可以选 ...
- IIS部署的应用无法自动注册到Nacos
问题描述: 自己开发的某系统后台API接入nacos,在IIS上部署无法自动注册到nacos服务列表中.其根本原因是网站处于休眠状态,当某请求访问该网站时,网站被激活,nacos注册成功. 但这块有个 ...