概念 : 用户>角色>权限 的管理(Role-Based Access Control)
RBAC 用户管理规范
概念:每个user有多个accounts,每个account 有一个account binding,有多个roles和多个tasks
举个例子:某个用户现在manager,这是admin添加了另一个角色supervisor的角色给他,数据结构是这样的(HdLogin)
user{
accounts : [
{
type : "administrator" //可以抽象或具体 : administrator, manager
password : "1234",
roles :[
{
type: "manager",
roleTaskss : ",manager,supervisor,"
},
{
type: "supervisor",
roleTaskss : ",supervisor,"
}
],
accountBindings : [
{
type : "email",
primaryKey : "xxx@xxx"
}
]
}
]
}
*primaryKey是email format, 电话号码,webchat。。。
*灰色是之前的需求,保留而已
自动登入,在employer page 登入后,会有cookies,去到candidate page时,会自动登入。过程是发现有cookies同时type 是customer。如果在candidate 登出时,employer 也会自动登出。因为在登出后,在refresh又会自动登入,死循环很奇怪!
半自动登入,在employer page 登入后,会有cookies,去到candidate page时,点击登入,在这里看当下页面的业务逻辑,
如果是只有一个角色可以登入的话,就直接帮他登入
如果是2个角色,就会有一个选项让他选择哪个角色,
如果是选择的角色在HdLogin有记入的话,会自动登入 (cookies是属于当下界面)
如果是选者的角色是不在HdLogin的话,会需要自己登入
手动登入,意思是每一个页面的业务逻辑都是只有支持自己页面的cookies。
当登入candidate page时,再去到employer page,会查找HdLogin,结果会发现没有记入,然后要求登入
account Type 会记入抽象或具体 user administrator,staff,manager...
举个例子:当manager登入admin page,之后再去到前台page,
如果前台page是“自动登入”或“半自动登入”,首先会去HdLogin去查找看看cookies有没有当下的页面
如果有记入,就broadcast
如果没有记入,就看记入中的account type是不是如何业务逻辑。现在account type是administrator,是可以登入的,在购买房间时,会确定角色是不是manager(因为业务只支持administrator 的 manager可以购买),然后完成!
但是如果是staff 呢?
举个例子:当staff登入admin page,之后在去前台page,
如果前台page是“自动登入”或“半自动登入”,首先回去HdLogin去查找看看cookies有没有当下的页面,
这时发现他的account type是administrator,是可以登入的,但是在购买房间时,资源会发现他不能访问,因为角色只有manager才可以购买
seek的概念,同个email,不同password
在结构上,user 是accounts的父层,但是在创建candidate email后再创建 employer email,是没有把这2个email在同个accounts!
完全是2个email。
roles的数据结构
举个例子:manager要操作supervisor的操作,这时必须roles.roleTaskss 添加一个supervisor。所有的manager就一定要有角色,不然会有bug!
roles :[
{
type: "manager",
roleTaskss : ",manager,supervisor,"
},
{
type: "supervisor",
roleTaskss : ",supervisor,"
}
],
概念 : 用户>角色>权限 的管理(Role-Based Access Control)的更多相关文章
- spring-boot-plus V1.4.0发布 集成用户角色权限部门管理
RBAC用户角色权限 用户角色权限部门管理核心接口介绍 Shiro权限配置
- Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role
<Windows Azure Platform 系列文章目录> 今天上午刚刚和客户沟通过,趁热打铁写一篇Blog. 熟悉Microsoft Azure平台的读者都知道,在老的Classic ...
- Azure ARM (17) 基于角色的访问控制 (Role Based Access Control, RBAC) - 自定义Role
<Windows Azure Platform 系列文章目录> 在上面一篇博客中,笔者介绍了如何在RBAC里面,设置默认的Role. 这里笔者将介绍如何使用自定的Role. 主要内容有: ...
- [.Net MVC] 用户角色权限管理_使用CLK.AspNet.Identity
项目:后台管理平台 意义:一个完整的管理平台需要提供用户注册.登录等功能,以及认证和授权功能. 一.为何使用CLK.AspNet.Identity 首先简要说明所采取的权限控制方式.这里采用了基于角色 ...
- [认证授权] 6.Permission Based Access Control
在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证.那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务 ...
- java权限管理与用户角色权限设计
java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10
今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框 ...
随机推荐
- jsp分页的不同实现方法
一.代码实现分页 定义四个分页变量 pageNow 表示第几页 该变量是由用户来决定的,因此是变化的 pageCount 表示总共有多少页,该变量是计算出来的, ---考虑算法 pag ...
- poi2007
序:为什么写poi,zy说poi都是思路题目,不像hnoi妈的数据结构队..... 1.bzoj1102 题目大意:定义了一个山谷和山峰,求他们数量. 题解:这种题bfs咯,在bfs的时候记录一下相邻 ...
- Beautifulsoup 和selenium 的查询
Selenium There are vaious strategies to locate elements in a page. You can use the most appropriate ...
- AP聚类算法(转)
Affinity Propagation (AP) 聚类是2007年在Science杂志上提出的一种新的聚类算法.它根据N个数据点之间的相似度进行聚类,这些相似度可以是对称的,即两个数据点互相之间的相 ...
- 【转】java调用存储过程和函数
一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableS ...
- JDK源码分析-Integer
Integer是平时开发中最常用的类之一,但是如果没有研究过源码很多特性和坑可能就不知道,下面深入源码来分析一下Integer的设计和实现. Integer: 继承结构: -java.lang.Obj ...
- 基于.NET Core的Hypertext Application Language(HAL)开发库
HAL,全称为Hypertext Application Language,它是一种简单的数据格式,它能以一种简单.统一的形式,在API中引入超链接特性,使得API的可发现性(discoverable ...
- 我的Linux软件集
把我常用的软件记下来,以后重装安装的时候方便一些- 这个博文会不断更新的- 开发工具类 Monodevelop 编写C#控制台程序和GTK#窗口程序,很好,虽然没有VS强大,但是够用了 CodeBlo ...
- TypeScript教程2
在TS中,我们允许开发人员使用面向对象技术. 1.类让我们看看一个简单的基于类的例子: class Greeter { greeting: string; constructor(message: s ...
- SQL Server-聚焦SNAPSHOT基于行版本隔离级别详解(三十)
前言 上一篇SQL Server详细讲解了隔离级别,但是对基于行版本中的SNAPSHOT隔离级别仍未完全理解,本节再详细讲解下,若有疑义或不同见解请在评论中提出,一起探讨. SNAPSHOT行版本隔离 ...