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数据加密,不能放在表现层也不能放在数据层必须放在业务层.它属于业务操作. 数据层的 ...
随机推荐
- Python基础学习----拆包
拆包,多用在多值参数种. 1.多值参数. 有时候,在函数的参数转递时,不单只传输单个字符的参数,比如有元组和字典的参数,这时候我们就使用多值参数. *args 代表元组的多值参数 *kwargs 代表 ...
- SqlServer一些常用函数(持续更新。。。)
1. 字符串拼接: + 拼接 SELECT 'AA' + 'BB' A //AABB在2012版本sqlserver之后,可以使用cancat进行字符串拼接了. 2. 判断是否为空,并取另外的值 :I ...
- Convex 一道阿姆斯特朗回旋好题
2001年5月8日,阿姆斯特朗(Armstrong, 1929-2013) 教授发明了一种名为“阿姆斯特朗回旋加速喷气式阿姆斯特朗加密”的加密算法,算法从未公开,直至2013阿姆斯特朗教授逝世后,其生 ...
- Spring获取properties中同一个key对应的多条value的方法
如下方式使用Spring EL @Value("#{'${my.list.of.strings}'.split(',')}") private List<String> ...
- Spring线程池ThreadPoolTaskExecutor配置及详情
Spring线程池ThreadPoolTaskExecutor配置及详情 1. ThreadPoolTaskExecutor配置 <!-- spring thread pool executor ...
- [LeetCode系列] 跳跃问题II
给定一系列非负整数, 每个值代表从此下标可以向前跳跃的最远距离, 试求出跳跃到数组尾端需要的最少步骤. 如给定 [2,3,1,1,4], 返回2. (从下标0跳到1, 从1跳到下标4). 算法描述: ...
- 64位windows 2003和windows xp
msdn windows2003 64位简体中文企业版R2 sp2(cn_win_srv_2003_r2_enterprise_x64_with_sp2_vl) ed2k://|file|cn_win ...
- RK3288 红外遥控器增加自定义按键
转载请注明出处:https://www.cnblogs.com/lialong1st/p/10071557.html CPU:RK3288 系统:Android 5.1 1.在 dts 中增加红外遥控 ...
- java工具类-读配置文件
///读配置文件 import java.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.M ...
- bzo j4825 [Hnoi2017]单旋
Description H 国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构.伸展树(splay)是一种数据 结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了 H 国的 ...