【第22期】观点:IT 行业加班,到底有没有价值?

基于角色的权限管理系统设计思路

原创 2017年05月18日 18:05:11

概述

权限管理功能是项目中重要的部分,通过权限系统可以控制系统中各用户所拥有的权限,比如能否打开一个页面,能否进行某项操作,合理的权限控制可以规避误操作的风险,提高系统的可用性。
权限管理的思路一般为基于角色和基于资源两种,基于角色即对为用户赋予某些角色的权限,基于资源则为对用户赋予某些资源的权限。两种既可以单独实现,也可结合起来使用。

设计思路

系统中抽象出操作、角色、用户三个概念,其中操作由项目中抽象出来,一个操作可以是一个URI,也可以是一个方法,比如创建用户的操作,删除用户的操作。角色是权限管理的核心,一个角色具有某些操作的权限,比如用户管理员,这个角色具有的权限有添加用户的权限、修改用户的权限、删除用户的权限。系统中的用户则被赋予若干个角色,比如如果有一个用户A被赋予了用户管理员的角色,那他就能添加、修改、删除用户。

表结构设计

使用MySQL和MongoDB都可以,MongoDB可以直接用数组保存用户所具有的角色
项目表

字段名 说明
id
token 密钥
name 项目名称
ctime 创建时间
mtime 修改时间

操作表,uri是唯一索引

字段名 说明
id
project_id 项目id
uri 操作的地址
name 操作名称
status 状态
ctime 创建时间
mtime 修改时间

角色表

字段名 说明
id
project_id 项目id
actions 具有权限的操作
status 状态
ctime 创建时间
mtime 修改时间

用户表
角色表

字段名 说明
id
project_id 项目
name 用户名
roles 所属的角色
status 状态
ctime 创建时间
mtime 修改时间
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

角色权限管理

选择系统管理栏目,点击角色权限管理,进入角色权限管理模块。使用该模块可以将模块的权限分配给指定的角色,使该角色能够使用该模块。其主要功能有:维护角色信息、为角色分配模块权限、为角色添加操作员、把角色权...

系统权限管理设计

关于权限菜单的设计

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

1024写个开源软件--基于角色的权限管理系统(开始)

做项目的过程中发现一个通用的后台模版是多么的节省时间,今天就把平时用到的,学习的,总结一下。目的开源一个基于角色的权限管理系统,一个空的模版,仅仅实现了用户,角色,菜单和权限的管理。采用Spring+...

角色权限管理系统(角色功能授权)

角色权限管理系统中最重要的一个模块,其中也讲到一些开发中的常用技巧,相信一定大有用处。

java权限管理与用户角色权限设计

实现业务系统中的用户权限管理  B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每...

角色权限管理系统(登录模块)

学了几个月的php终于有时间来做一个小项目了,做这个小项目之前也考虑了多方面的因素。最后决定做这个角色权限管理系统,一方面练练手一方面复习下web开发的相关知识。本来想弄成专栏的但是后来一想反正就是知...

iMatrix平台的权限管理系统是一个基于角色的访问控制系统

iMatrix平台的权限管理系统(ACS)是一个基于角色的访问控制(Role-Based  Access Control)系统。熟悉RBAC的朋友应该知道,在RBAC中,权限和角色是相关的,用户通过成...

基于角色的权限控制 - RBAC

实现步骤: 一 、数据库字段设计: 大体可分为三个数据表(权限表,角色表 和 管理员表),在角色表中有权限id列表字段,这个字段可再细分(也就是说可以和管理员表的id字段组成另一个表)。 权限表...

一个基于角色的权限控制系统

基于角色的权限控制也就是说通过角色,来控制用户访问的模块,不同的用户拥有不同的角色,将具有不同的访问权限。

基于角色和资源的用户权限控制(用SpringMVC实现)

大龄菜鸟 2017-03-03 19:25 介绍 用户权限控制几乎是每个网站都会涉及到的问题,这不仅是涉及到安全,而且还涉及到用户的体验,例如,某个用户可能只需要用到少数几个模块,那么,我们就不应...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)