2015年传智播客JavaEE 第168期就业班视频教程06-权限校验子系统介绍
没整过论坛你也整过淘宝,其实淘宝登录的也分商家和个人,卖家和买家,不同的人登录显示的东西是不一样的。权限系统要分两大过程,第四天上午下午分开,分为授权与校验。我把某一个职务给你叫做授权,例如封你为征西大将军。校验是你去调兵了拿到虎符,我得看你有没有虎符。校验是基于干某一件事情,是干某一件事情才需要校验。
总经理、财务总监、项目经理那些是职务,一定要把角色和职务区分开。先不考虑角色,先说职务。一般人只有一个职务,习大大那些军委主席、国家主席多个职务的人毕竟还是少数,大部分人都是一个职务。我们不考虑多个职务那事。职务就是个字符串,铁道部部长和铁道总公司总经理那不是一样的吗?其实是一样的,职务只不过是个名称。
老师以前在工信部上班,门口就是持枪的警卫,他就认门条。拿工作证也不好使,就认门条。在做一件事情的时候他检测的东西完全取决于你这个人的角色。你只要有普通员工的角色就可以进去,你能说普通员工是你的职务吗?不能。一个人有多个角色。联想楼上面是有餐厅的,它的负一楼是餐厅。一个人有多个角色,这个角色可能分的很细。一个人能不能干这事取决于他的这个角色能不能干这事。美国总统就能发射核弹,他也需要授权的。能发射核弹不是因为奥巴马这个人,奥巴马是总统,克林顿也是当过总统的,你不能说克林顿也可以发射核弹。角色和职务完全没有任何关系,一个人可能有一百个角色。角色决定了做什么事情。
例如这个门是个实体吧,某些人可以开门关门,某些人可以打扫这个门,某些人还可以把这个门卸载的。能够做某件事情是指对这个东西进行操作还是指对这个东西进行一种特殊的操作?是对这个东西进行全操作还是指对这个东西进行特殊的操作?特殊的操作。一个实体可以对很多件事情,开门关门打扫门修门卸门。所以我们管控的事情是门呢还是门对应的事呢?所以这里一定要区分开实体和对实体可以操作的能力,这是两个概念。权限校验校验的不是实体而是对实体的操作能力。也就是说开门关门是两件事情了,在系统里面我们不管这些事情叫做实体,我们管它们叫做资源。资源指的是对某种实体的某种操作能力叫做资源。这个实体上可能会发生30件事情,但是你可能只能干一件事情。有些人说那我这个角色就绑定这个菜单,我这个角色就绑定这台机器,不是,这台机器可能可以干很多事情,但是你只是使用这台机器而不是说卸载这台机器或者说清洗这台机器。有可能这些东西是分不同的人。一个人能干什么事情是这个人对应的角色他能不能干这个事情。一个人能干这件事不是取决于这个人能干这件事情而是这个人具有的角色能干这件事情。你只要有这个角色你就能干。角色和资源之间的关系是多对多,一个角色可以干多件事情,一件事情可以被很多个角色所干,一个人可以具有多个角色。
一件事情可能角色A和角色B都能干,不是角色A和角色B都能干才能干,他只要有一个角色能干就行。每一个角色对应一个资源列表,我们把所有的资源列表合在一起最后我只要看整体的资源列表里面有没有这件事情就行了。
角色指的不是具体的人也不是具体的职务,它就是一模拟的名称可能叫A可能叫B,资源指的是对某件事情的操作能力。
2015年传智播客JavaEE 第168期就业班视频教程06-权限校验子系统介绍的更多相关文章
- 2015年传智播客JavaEE 第168期就业班视频教程day45-ERP项目-01 10-类图结构分析设计
运行astah-pro.bat,这是windows下运行的.astah-run.sh是Linux下运行的. 类结构视图的作用是描述类模型和模型与模型之间的关系,也就是说我们在这要把这个一对多和多对多的 ...
- 2015年传智播客JavaEE 第168期就业班视频教程14-登录功能需求分析+模块结构命名规范
得先造一个模块,来封装我们的员工模型.登录的就是我们的员工嘛.员工模块属于权限校验系列的,校验叫做auth.进销存模块叫做cn.itcast.erp.invoice.权限模块叫做cn.itcast.e ...
- 2015年传智播客JavaEE 第168期就业班视频教程11-导入配置文件
资源文件放在Source Folder目录下面,这个目录同样会编译到classes目录下 web.xml的 <listener> <listener-class>org.spr ...
- 2015年传智播客JavaEE 第168期就业班视频教程day45-ERP项目-0107-其他子系统
一套ERP系统中一定会有CRM,不可能说我所有数据都是散着放的,你想用就随便写一个.你出去和人聊,一定得说我这里有什么有什么,然后你就可以和人说你做的是进销存.人家要问CRM或者说财务系统你就说那不是 ...
- 2015年传智播客JavaEE 第168期就业班视频教程day45-ERP项目-01 05-主线流程
采购管理 销售管理 采购退货管理 销售退货管理 老师的采购单的审核是分三级审核的,如果这个单子是个普通单子,那么审核一下就完了,如果这个单子超过100万,需要二级领导审核,如果这个单子超过500万, ...
- 2015年传智播客JavaEE 第168期就业班视频教程day38-SSH综合案例-1
为什么需要划分模块呢?因为需要知道一些大致的功能,其次呢需要知道我们后台需不需要对它进行维护.如果需要呢那它肯定是一个单独的模块, 1.1 网上商城需求分析: 1.1.1 前台:用户模块 注册: ...
- 2015年传智播客JavaEE 第168期就业班视频教程03-ERP简介(2)
资源管理这块的东西大家基本上能够猜个差不多了.下面描述描述计划.计划这个东西把企业资源这个东西提升了不只十倍二十倍了.ERP的核心是计划,但是这次我们做是不做计划的.今年我们是一个生产型企业,我们要开 ...
- 2015年传智播客JavaEE 第168期就业班视频教程 02-ERP简介
其实ERP描述的是管理一个企业的整体的所有的资源.ERP是帮你管整个企业的运行.那它是管哪一类企业呢?比如说帮光线传媒.ERP更多是用在生产制造企业,这是最好的,其次的就是这种销售型企业,二道贩子那种 ...
- 2015年传智播客JavaEE 第168期就业班视频教程17-登录功能业务逻辑实现(代码)
点击红色在业务层接口EmpEbi创建方法login 按F4弹出类继承层次视图 这些快捷键是条件反射了. 业务层做MD5数据加密,不能放在表现层也不能放在数据层必须放在业务层.它属于业务操作. 数据层的 ...
随机推荐
- 在jenkins和sonar中集成jacoco(四)--在sonar中集成jacoco
首先要得到之前的单元测试和集成测试的覆盖率文件,还有对应的class文件以及单元测试的覆盖率报告,材料准备齐全之后,使用如下命令: build.xml 1 2 3 4 5 6 7 8 9 10 11 ...
- 【LeetCode 222_完全二叉树_遍历】Count Complete Tree Nodes
解法一:递归 int countNodes(TreeNode* root) { if (root == NULL) ; TreeNode *pLeft = root->left; TreeNod ...
- L180
The cylinder is a crucial part of the washing machine His debonair dismissal of my inquiry concernin ...
- scikit-learn 学习笔记-- Generalized Linear Models (一)
scikit-learn 是非常优秀的一个有关机器学习的 Python Lib,包含了除深度学习之外的传统机器学习的绝大多数算法,对于了解传统机器学习是一个很不错的平台.每个算法都有相应的例子,既可以 ...
- MPI2 编程环境搭建 MPI4PY 编程环境搭建
最近发现了一门新语言 Julia , 这门编程语言据说大有取代 Python语言成为数据科学的大佬,但是细看发现最主要说的是这门编程语言运行速度比较快,并且在分布式和并行计算上比较有优势,这时候 ...
- Windows7 SP1 64bit配置IIS7.5和ASP.NET4
一.安装前的环境 1. Windows7 SP1 64bit: 2. 在安装IIS7.5之前,安装了Visual Studio 2010或.NET Framework4: 二.安装IIS7.5 1. ...
- 2018-2019-2 《网络对抗技术》Exp2 后门原理与实践 20165222
Exp2 后门原理与实践 实验环境 win7ip地址为: 192.168.136.130 kali.ip地址为: 192.168.136.129 两台虚拟机可以ping通 实验步骤 1,使用netca ...
- SpookyOTP
https://pypi.python.org/pypi/SpookyOTP/1.1.1 SpookyOTP 1.1.1 Downloads ↓ A lightweight Python 2/3 pa ...
- 遍历树节点(多层)的方法(java)
前序遍历,后序遍历,广度遍历,深度遍历,遍历一级节点.以及按钮如何响应点击事件. import java.awt.*; import java.awt.event.*; import java.uti ...
- sql server利用cte递归查询
1.数据环境准备 参考Oracle递归查询文章. 2.查询某个节点下的所有子节点 with cte(id,name,parent_id) as ( select id,name,parent_id f ...