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 ...
随机推荐
- Random库用法详解
梅森旋转算法实现 基本随机数函数 seed(a=None): 初始化给定的随机数种子,默认为当前系统时间. 只要随机数种子相同,产生的随机数序列也相同. random(): 生成一个[0.0,1.0] ...
- 2023-05-23:如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等, 那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。 例如,“tars“
2023-05-23:如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等, 那么称 X 和 Y 两个字符串相似.如果这两个字符串本身是相等的,那它们也是相似的. 例如,"t ...
- [Docker] Docker之安装Nginx
0 序言 略 1 安装步骤 Step1 下载镜像 搜素.下载镜像 https://hub.docker.com/_/nginx?tab=tags 这里选择官方镜像1.22.0版本 docker sea ...
- delving into deep imbalanced regression翻译
非对照翻译,有所简略.翻译不对,尽情谅解,可留言 作者解释 and paper 笔记 Abstract Real-world data often exhibit imbalanced distr ...
- JuiceFS 社区版 v1.1- Beta 发布,新增五个实用功能
我们很高兴地宣布 JuiceFS v1.1-Beta 版本正式发布啦!这是一个功能丰富的版本,带来了许多实用的新功能和改进.在这个版本中我们新增了以下功能: 目录配额:为目录设置配额限制,控制其大小和 ...
- 闺蜜机 StanbyME 产品随想
今天媳妇告诉我,现在小度这边推出一款叫 "闺蜜机"的可用移动的IPAD设备,我点开链接一看,就感觉兴趣不大,不就是一款把屏幕做的更大些的IPAD了吗? 有哪些更多创新呢?为什么会需 ...
- 【了解LLM】—— LLM&& SD 基本概念
本文地址:https://www.cnblogs.com/wanger-sjtu/p/17417312.html Causual LM 这里以llama模型为例,通常在执行用户输入之前会有一个[[文章 ...
- W1R3S-1项目实战
前言 您受聘在W1R3S.inc单个服务器上进行渗透测试,并报告所有发现.他们要求您获得root访问权限并找到标志(位于/root目录中). 难以获得低特权外壳:初级/中级 获得特权升级的难度:初级/ ...
- kali问题排查
kali从2020的更新到最新版就卡在了启动界面 猜想会不会是内核的问题,选择到这个最新内核就可以正常进入系统了 由于觉得这样启动太过于麻烦,想办法把这个内核作为默认启动内核,从网上了解到要修改/et ...
- 大批量插入数据(sql insert)
1.批量录入(方法一:mybiats foreach标签) 所述的MySQL和Oracle的批量插入区别可以看出可能有兼容性问题(使用Oracle 的同学重点参考下) 而且jdbc链接Url要加上 a ...