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

原创 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 修改时间
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Jsonp原理及实现

最近做项目,由于前台系统和后台信息发布系统需要部署到不同的服务器上,并且二级域名也不相同,所以经常会遇到一些跨域访问的问题,这些问题基本上可以通过JSONP的方式实现。自己上网找了些JSONP相关的文...
  • cqdzdj
  • cqdzdj
  • 2013-10-30 16:37
  • 2850

XMLHttpRequest cannot load的解决方法

在谷歌浏览器中调试接口,出现:XMLHttpRequest cannot load错误 需要配置谷歌浏览器,使浏览器支持跨域,步骤如下: 具体操作如下:首先需要关闭谷歌浏览器的所有窗口 ...

Java进阶(四十一)多线程讲解

Java多线程讲解前言    接到菜鸟网络的电话面试,面试官让自己谈一下自己对多线程的理解,现将其内容整理如下。线程生命周期    Java线程具有五中基本状态    新建状态(New):当线程对象对...

JSONP原理及实现

JSONP原理及实现

简单透彻理解JSONP原理及使用

什么是JSONP首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架构都...

jsonp的原理,应用场景,优缺点

在开发测试中,难免会在不同域下进行跨域操作,出于安全性考虑,浏览器中的同源策略阻止从一个域上加载的脚本获取或者操作另一个域下的文档属性,这时需要进行跨域的方式进行解决,如:使用jsonp ,ifram...

深入理解JavaScript的闭包特性 如何给循环中的对象添加事件

深入理解JavaScript的闭包特性如何给循环中的对象添加事件 初学者经常碰到的,即获取HTML元素集合,循环给元素添加事件。在事件响应函数中(event handler)获取对应...

java调用http接口

最近几天因为项目需求,做一个门禁管理。而门禁信息来源则是妙兜。所以我们这边需要调用妙兜的接口,主要是“设备安装登记接口”和“钥匙凭证发放接口”。 因为之前没有做过“java调用http接口”类似功能,...

JAVA发送http get/post请求,调用http接口、方法

三个例子 —JAVA发送http get/post请求,调用http接口、方法例1:使用 HttpClient (commons-httpclient-3.0.jar jar下载地址:h...

java调用外部接口

Java调用外部接口的方法,最终返回接口return的信息 String strURL = "这里是你要调用的接口"; URL url = new URL(strURL); HttpU...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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