项目总结--权限管理

一: 概述:权限控制:功能权限+数据权限

总体采用RBAC(Role-Based Access Control,基于角色的访问控制)

(1)菜单权限

(2)页面元素权限

(2)数据权限  :考虑采用业务逻辑控制。

考虑在device表中,增加组织id。用户添加设备的时候,关联上自己的组织id。

二:菜单级权限设计

(1)服务器启动:建立内存权限数据

public static Map<Long,List<Long>> powerList = new HashMap<Long,List<Long>>();

key表示用户的id;value表示用户权限id集合List<Long>

(2)用户登陆-获取自己的角色集合,获取角色对应的权限集合List<Long> powerList

(3)更新内存权限数据:

Constant.powerList.put(loginer.getId(), powerList);

(4)获取菜单

//获取登陆用户

User user = (User) WebUtil.getLoginedUser(request, SessionPath.LoginBss);

//获取用户权限集合

List<Long> uPowerList = Constant.powerList.get(user.getId());

//根据uPowerList做条件查询

if(uPowerList!=null &&uPowerList.size() > 0){

conditions.add(new Condition(Union.and, Operator.In, "id",uPowerList));

}else{

//Operator.In 操作:如果后面的参数size = 0,就会查询异常

uPowerList.add(0L);

conditions.add(new Condition(Union.and, Operator.In, "id",uPowerList));

}

三:页面实现

(1)资源列表,机构列表用到了EasyUI的TreeGrid

(2)编辑组织,用到了EasyUI的ComboTree

(3)角色授权,用户分配机构,分配角色,用到了EasyUI的Tree(checkbox:true)

时间: 2024-08-03 15:39:09

项目总结--权限管理的相关文章

Shiro学习(23)多项目集中权限管理

在做一些企业内部项目时或一些互联网后台时:可能会涉及到集中权限管理,统一进行多项目的权限管理:另外也需要统一的会话管理,即实现单点身份认证和授权控制. 学习本章之前,请务必先学习<第十章 会话管理>和<第十六章 综合实例>,本章代码都是基于这两章的代码基础上完成的. 本章示例是同域名的场景下完成的,如果跨域请参考<第十五章 单点登录>和<第十七章 OAuth2集成>了解使用CAS或OAuth2实现跨域的身份验证和授权.另外比如客户端/服务器端的安全校验可参考

django项目后台权限管理功能。

对后台管理员进行分角色,分类别管理,每个管理员登录账号后只显示自己负责的权限范围. 创建后台管理数据库 models.py文件内 # 管理员表 class Superuser(models.Model): super_id=models.AutoField(primary_key=True) super_name=models.CharField(max_length=255) super_pwd=models.CharField(max_length=255) role = models.Ma

sharepoint2013列表实现项目级权限控制

sharepoint2013列表实现项目级权限控制 分类: sharepoint 20132014-07-07 22:30 108人阅读 评论(0) 收藏 举报 sharepoint工作流sharepoint工作流列表sharepoint2013 在sharepoint2013权限控制中,有时候会涉及更精细化的控制,比如在列表中考虑控制列表项的权限. 下面就举例介绍一下如何进行设置. 例子:1.具有了一个可用的网站集 2.新建一个服务客户列表 3.具备了用户的权限级别(因为列表项目级权限只和当前

基于Django实现RBAC权限管理

概述 RBAC(Role-Based Access Control,基于角色的访问控制),通过角色绑定权限,然后给用户划分角色.在web应用中,可以将权限理解为url,一个权限对应一个url. 在实际应用中,url是依附在菜单下的,比如一个简单的生产企业管理系统,菜单可以大致分为以下几块:制造.资材.生产管理.人事.财务等等.每个菜单下又可以有子菜单,但最终都会指向一个url,点击这个url,通过Django路由系统执行一个视图函数,来完成某种操作.这里,制造部的员工登录系统后,肯定不能点击财务

Jenkins配置基于角色的项目权限管理

 本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Strategy Plugin,介绍页面:https://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin 1.配置插件 安装插件后,进入系统设置页面 配置如下: 2.配置权限 在系统管理页面点击Manage and Assign Ro

LINUX搭建SVN客户端和多个项目的权限分组管理

搭建SVN服务,有效的管理代码,以下三步可以快速搞定.1.安装 #yum install subversion 判断是否安装成功 1 #subversion -v svnserve, version 1.6.11 (r934486)出现上面的提示,说明安装成功. 如果提示如下:-bash: subversion: command not found经过查找发现:[[email protected]]# svnserve –versionsvnserve, version 1.6.11 (r934

项目中处理android 6.0权限管理问题

android 6.0对于权限管理比较收紧,因此在适配android 6.0的时候就很有必要考虑一些权限管理的问题. 如果你没适配6.0的设备并且权限没给的话,就会出现类似如下的问题: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxx cmp=com.android.server.telecom/.componen

BOS项目 第8天(权限管理添加、角色管理添加、用户管理添加、shiro权限框架使用ecache缓存)

BOS项目笔记 第8天 今天内容安排: 1.权限管理(初始化.查询.添加) 2.角色管理(添加.查询) 3.用户管理(添加.查询) 4.修改自定义Realm中的授权方法(基于数据库实现) 5.使用ehcache缓存权限数据 6.系统左侧菜单根据登录人的权限动态展示 1. 权限管理 1.1 初始化权限数据 执行sql脚本文件初始化权限数据: 1.2 权限分页查询 第一步:修改页面中datagrid的URL地址,访问FunctionAction的pageQuery的分页查询方法 第二步:创建Func

Jenkins配置基于角色的项目权限管理--转

本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Strategy Plugin,介绍页面:https://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin 一.配置插件 安装插件后,进入系统设置页面,配置如下: 官网上安全域设置为Servlet容器代理,实际操作发现Jenkins专有用户数