引言

权限系统模块对于互联网产品是一个非常重要的功能,可以控制不同的角色合理的访问不同的资源从而达到安全访问的作用

此外本次课程有视频讲解: http://www.imooc.com/learn/799 ,对应演示系统:http://rbac.54php.cn

权限控制模型

  • ACL

  • RBAC 基于角色的访问控制

从上图我们可以看出,ACL是用户和权限直接关系的,RBAC则是通过角色间接关联用户和权限的。所以角色是RBAC系统的一个重要属性

Why RBAC

为什么我们选择RBAC模型,原因如下

  1. 方便用户分组

  2. 方便权限分配和回收

  3. 扩展方便,可以满足大部分业务需求

RBAC

框架

图中有5个角标数字,对应的就是RBAC模型重要的5个属性

RBAC关系图
序号 关键属性 描述
1 用户  张三、李四、王五
2 角色 销售经理、销售、前台
3 用户角色关系 张三 是  销售经理 、李四 王五 是 销售
4 权限 添加客户、编辑客户、删除客户,查看客户
5 角色权限关系

销售 拥有 查看客户的 权

限、销售经理可以 查看/添加/删除/编辑客户的

功能

如上图,一个RBAC权限模块,必然要实现三个功能

  1. 用户管理

    1. 用户列表

    2. 添加用户

    3. 编辑用户

    4. 设置用户角色

  2. 角色管理

    1. 角色列表

    2. 添加角色

    3. 编辑角色

    4. 设置角色权限

  3. 权限管理

    1. 权限列表

    2. 新增权限

    3. 编辑权限

战果演示

  • 第一张截图有2个浏览器,左边使用超级管理员打开,右边的使用 前台角色郭小威 用户打开

  • 第二张截图 展示的是 为 前台 设置权限

  • 第三张截图展示了可以浏览的页面(图一中有无法浏览提示)

资源

  1. 演示代码(请务必先查看readme文件) https://github.com/apanly/rbac

  2. 课程视频地址: http://www.imooc.com/learn/799

  3. 对应演示系统:http://rbac.54php.cn

原文地址:【RBAC】打造Web权限控制系统
标签:权限   角色   用户   控制   rbac   user   role   access   用户管理   权限管理   角色管理

智能推荐

【RBAC】打造Web权限控制系统的更多相关文章

  1. RBAC打造通用WEB权限

    RBAC不用给用户单个分配权限,只用指向对应的角色就会有对应的权限,而且分配权限和收回权限都很方便 5个关系对应5张表 五张表设计 CREATE TABLE `user` ( `id` ) unsig ...

  2. ASP.NET MVC 基于角色的权限控制系统的示例教程

    上一次在 .NET MVC 用户权限管理示例教程中讲解了ASP.NET MVC 通过AuthorizeAttribute类的OnAuthorization方法讲解了粗粒度控制权限的方法,接下来讲解基于 ...

  3. ASP.net MVC 基于角色的权限控制系统的实现

    一.引言 我们都知道ASP.net mvc权限控制都是实现AuthorizeAttribute类的OnAuthorization方法. 下面是最常见的实现方式: public class Custom ...

  4. 简单的RBAC用户角色权限控制

    Java web项目中,无论项目是大是小,或多或少都会涉及到用户访问权限的控制,权限管理总体的设计思路就是,不该看的不看,不该做的不做!据我目前的了解,我所知道的几种实现访问权限控制的方式有: JQu ...

  5. 基于 Spring Security 的前后端分离的权限控制系统

    话不多说,入正题.一个简单的权限控制系统需要考虑的问题如下: 权限如何加载 权限匹配规则 登录 1.  引入maven依赖 1 <?xml version="1.0" enc ...

  6. 扩展RBAC用户角色权限设计方案(转载)

    扩展RBAC用户角色权限设计方案  来源:https://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.html https://blog.csd ...

  7. web权限验证方法说明[转载]

    前言 本文将会从最基本的一种web权限验证说起,即HTTP Basic authentication,然后是基于cookies和tokens的权限验证,最后则是signatures和一次性密码. HT ...

  8. RBAC打造通用web管理权限

    https://www.cnblogs.com/lamp01/p/6576432.html https://www.imooc.com/learn/799

  9. RBAC权限控制系统

    1.概述 RBAC(Role-Based Access Control )基于角色的访问控制. RBAC的权限控制可以抽象概括为:判断[Who是否可以对What进行How的访问操作(Operator) ...

随机推荐

  1. 通过SSH实现Windows与linux之间传输文件

    Linux是非常好的开发环境,但很多时候我们希望能够在Windows上操作,通过SSH协议可以实现两者之间传输文件. 一 需要在Linux系统上安装ssh-server,有的linux系统自带了. 查 ...

  2. 解决ora-01034和ora-27101错误

    使用plsql登录oracle数据库,提示如下错误: 定位原因:tnsnames.ora文件中数据库的配置参数有误所致 解决办法:将SERVICE_NAME修改为SID即可

  3. FFMPEG转换WAV到MP3

    下载FFMPEG https://ffmpeg.zeranoe.com/builds/ Example to encode VBR MP3 audio with ffmpeg using the li ...

  4. mybais 之parameterType ="list"

    <!-- 根据货品编号获取商品价格和库存 --> <select id="getGoodsPriceAndStockByGoodsNo" resultMap=&q ...

  5. Qt——文件对话框

    教程:https://www.devbean.net/2012/09/qt-study-road-2-file-dialog/ 代码如下: //mainwindow.h #ifndef MAINWIN ...

  6. 【.netcore基础】MVC制器Controller依赖注入

    废话少说,直接上代码 首先我们得有一个接口类和一个实现类,方便后面注入MVC里 接口类 public interface IWeatherProvider { List<WeatherForec ...

  7. 【Drools-开源业务规则引擎】入门实例(含源码)

    该实例转自:http://blog.csdn.net/quzishen/article/details/6163012 便于理解的应用实例1: 现在我们模拟一个应用场景:网站伴随业务产生而进行的积分发 ...

  8. 【cs229-Lecture3】为什么要选择“最小二乘法”这个指标

    视频地址:http://v.163.com/movie/2008/1/E/B/M6SGF6VB4_M6SGHM4EB.html 具体的推导过程,讲义上都有,已经很详细了.这里的推导过程大都是自己为了练 ...

  9. web应用安全防范(1)—为什么要重视web应用安全漏洞

    现在几乎所有的平台都是依赖于互联网构建核心业务的. 自从XP年代开始windows自带防火墙后,传统的缓冲器溢出等攻击失去了原有威力,黑客们也把更多的目光放在了WEB方面,直到进入WEB2.0后,WE ...

  10. sql查看本机IP地址

    CREATE FUNCTION [dbo].[GetCurrentIP] () ) AS BEGIN ); SELECT @IP_Address = client_net_address FROM s ...