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后台页面

?

时间: 2024-10-12 11:08:58

role的相关文章

Salesforce用Apex判断Role Hierarchy的简单代码示例

由于role不同于Profile,带有阶层性质,所以有一些自定义功能要依赖于这种阶层的设定.这样就涉及到role hierarchy的判断问题. 我是一个绝懒之人,所以去网上搜了一下,能找到的方案都或多或少有些缺陷 . 我所提供的方案也是如此,但是想比于浪费太多SOQL查询次数来讲,role的数量不超过50000条已经是足够好了.// 这里Update一下,其实根本不会有那么多的Role,因为默认500,向Salesforce技术支持提票才能达到10000. Talk is cheap, sho

Security4:Role 和 Permission

Grants permissions on a securable to a principal.  The general concept is to GRANT <some permission> ON <some object> TO <some user, login, or group>. 简单记作 Grant Permission on securable to principal 授予权限分为三部分:Permission,Securable 和 princ

ORA-01917: user or role &#39;PDB_DBA&#39; does not exist

在使用seed PDB创建新的PDB的时候,报了以下错误提示: SQL> create pluggable database pdb2 admin user admin1 identified by admin1 file_name_convert=('/u12/app/oracle/oradata/db12/pdb1','/u12/app/oracle/oradata/db12/pdb2'); create pluggable database pdb2 admin user admin1 i

asp.net Identity2 角色(Role)的使用(一)

asp.net Identity自带有角色功能,但默认的模板并没有启用.启用Role的步骤如下:定义role模型--配置角色管理器---配置初始化器---修改数据库上下对象---在应用程序启动文件中配置角色请求 1.定义模型: 在IdentityModel.cs //定义程序的角色模型,继承自IdentityRole public class ApplicationRole : IdentityRole { public ApplicationRole():base() {} public Ap

asp.net Identity2 角色(Role)的使用(二)

新建一个AdminViewModel 文件,建立视图模型类 public class RoleViewModel { public string Id { get; set; } [Required(AllowEmptyStrings=false)] [Display(Name="角色名称")] public string Name { get; set; } [Display(Name="角色描述")] [StringLength(50,ErrorMessage=

failed to lazily initialize a collection of role

在springmvc hibernate的映射文件中如图设置多对多关联,为了显示查询的的列表,打印json数据,我们刚开始是这样设置如下的设置文件 然后进行查询操作 结果报 failed to lazily initialize a collection of role错误 假如这样设置 结果就是这样的 正常打印json数据 为什么会这样? 首先,lazy是延时的意思,如果lazy=true,那么就是说数据库中关联子表的信息在hibernate容器启动的时候不会加载,而是在你真正的访问到字表非标

Oracle DCL(Data Control Language)数据控制语言(权限privilege,角色role,用户user介绍)

1.如何控制用户访问 1.身份验证,认证:Authentication 2.授权:Authorization 3.审计:Audit 2.权限 数据库安全: -系统安全 -数据安全 系统权限:数据库中执行一个特定操作 对象权限:操纵数据库的对象的内容 可用的系统权限有100多个 数据库管理员有高层次的系统权限,可以完成 -创建一个新用户 -删除用户 -删除表 -备份表 3.创建用户 DBA使用CREATE USER语句创建用户 CREATE USER user identified BY pass

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 or configure Microsoft .NET Framework 3.5 SP1. 既然碰到了顺便还是记录一下,虽然感觉没啥技术含量也没有难度,有时候有必要养成一个好习惯.记录你碰到的问题.解决问题的方案,你思考的点点滴滴! 打开 Server Manager,在"Features&quo

Oracle conncect role vs create session

Oracle conncect role vs create session The CONNECT role was introduced with OracleDatabase version 7, which added new and robust support for database roles. TheCONNECT role is used in sample code, applications, documentation, and technicalpapers. The

jedis支持哨兵主从配置role为slave

jedis功能强大,但是不能像nodejs一样指定从slave中读数据,使数据量读写量较大时读写分离,减少redis压力. 我们可以利用jedis中的方法封装一个类似于此的方法. github地址: https://github.com/candyleer/jedis-enhance 使用方法如: 指定masterName名称,sentinels 地址,并定义一个连接池,初始化后可以从中获取一个jedis连接,支持哨兵的master切换后重新选举合适的slave,如果当前连接的slave挂了,需