没整过论坛你也整过淘宝,其实淘宝登录的也分商家和个人,卖家和买家,不同的人登录显示的东西是不一样的。权限系统要分两大过程,第四天上午下午分开,分为授权与校验。我把某一个职务给你叫做授权,例如封你为征西大将军。校验是你去调兵了拿到虎符,我得看你有没有虎符。校验是基于干某一件事情,是干某一件事情才需要校验。

总经理、财务总监、项目经理那些是职务,一定要把角色和职务区分开。先不考虑角色,先说职务。一般人只有一个职务,习大大那些军委主席、国家主席多个职务的人毕竟还是少数,大部分人都是一个职务。我们不考虑多个职务那事。职务就是个字符串,铁道部部长和铁道总公司总经理那不是一样的吗?其实是一样的,职务只不过是个名称。

老师以前在工信部上班,门口就是持枪的警卫,他就认门条。拿工作证也不好使,就认门条。在做一件事情的时候他检测的东西完全取决于你这个人的角色。你只要有普通员工的角色就可以进去,你能说普通员工是你的职务吗?不能。一个人有多个角色。联想楼上面是有餐厅的,它的负一楼是餐厅。一个人有多个角色,这个角色可能分的很细。一个人能不能干这事取决于他的这个角色能不能干这事。美国总统就能发射核弹,他也需要授权的。能发射核弹不是因为奥巴马这个人,奥巴马是总统,克林顿也是当过总统的,你不能说克林顿也可以发射核弹。角色和职务完全没有任何关系,一个人可能有一百个角色。角色决定了做什么事情。

例如这个门是个实体吧,某些人可以开门关门,某些人可以打扫这个门,某些人还可以把这个门卸载的。能够做某件事情是指对这个东西进行操作还是指对这个东西进行一种特殊的操作?是对这个东西进行全操作还是指对这个东西进行特殊的操作?特殊的操作。一个实体可以对很多件事情,开门关门打扫门修门卸门。所以我们管控的事情是门呢还是门对应的事呢?所以这里一定要区分开实体和对实体可以操作的能力,这是两个概念。权限校验校验的不是实体而是对实体的操作能力。也就是说开门关门是两件事情了,在系统里面我们不管这些事情叫做实体,我们管它们叫做资源。资源指的是对某种实体的某种操作能力叫做资源。这个实体上可能会发生30件事情,但是你可能只能干一件事情。有些人说那我这个角色就绑定这个菜单,我这个角色就绑定这台机器,不是,这台机器可能可以干很多事情,但是你只是使用这台机器而不是说卸载这台机器或者说清洗这台机器。有可能这些东西是分不同的人。一个人能干什么事情是这个人对应的角色他能不能干这个事情。一个人能干这件事不是取决于这个人能干这件事情而是这个人具有的角色能干这件事情。你只要有这个角色你就能干。角色和资源之间的关系是多对多,一个角色可以干多件事情,一件事情可以被很多个角色所干,一个人可以具有多个角色。

一件事情可能角色A和角色B都能干,不是角色A和角色B都能干才能干,他只要有一个角色能干就行。每一个角色对应一个资源列表,我们把所有的资源列表合在一起最后我只要看整体的资源列表里面有没有这件事情就行了。

角色指的不是具体的人也不是具体的职务,它就是一模拟的名称可能叫A可能叫B,资源指的是对某件事情的操作能力。

2015年传智播客JavaEE 第168期就业班视频教程06-权限校验子系统介绍的更多相关文章

  1. 2015年传智播客JavaEE 第168期就业班视频教程day45-ERP项目-01 10-类图结构分析设计

    运行astah-pro.bat,这是windows下运行的.astah-run.sh是Linux下运行的. 类结构视图的作用是描述类模型和模型与模型之间的关系,也就是说我们在这要把这个一对多和多对多的 ...

  2. 2015年传智播客JavaEE 第168期就业班视频教程14-登录功能需求分析+模块结构命名规范

    得先造一个模块,来封装我们的员工模型.登录的就是我们的员工嘛.员工模块属于权限校验系列的,校验叫做auth.进销存模块叫做cn.itcast.erp.invoice.权限模块叫做cn.itcast.e ...

  3. 2015年传智播客JavaEE 第168期就业班视频教程11-导入配置文件

    资源文件放在Source Folder目录下面,这个目录同样会编译到classes目录下 web.xml的 <listener> <listener-class>org.spr ...

  4. 2015年传智播客JavaEE 第168期就业班视频教程day45-ERP项目-0107-其他子系统

    一套ERP系统中一定会有CRM,不可能说我所有数据都是散着放的,你想用就随便写一个.你出去和人聊,一定得说我这里有什么有什么,然后你就可以和人说你做的是进销存.人家要问CRM或者说财务系统你就说那不是 ...

  5. 2015年传智播客JavaEE 第168期就业班视频教程day45-ERP项目-01 05-主线流程

    采购管理 销售管理 采购退货管理  销售退货管理 老师的采购单的审核是分三级审核的,如果这个单子是个普通单子,那么审核一下就完了,如果这个单子超过100万,需要二级领导审核,如果这个单子超过500万, ...

  6. 2015年传智播客JavaEE 第168期就业班视频教程day38-SSH综合案例-1

    为什么需要划分模块呢?因为需要知道一些大致的功能,其次呢需要知道我们后台需不需要对它进行维护.如果需要呢那它肯定是一个单独的模块, 1.1    网上商城需求分析: 1.1.1 前台:用户模块 注册: ...

  7. 2015年传智播客JavaEE 第168期就业班视频教程03-ERP简介(2)

    资源管理这块的东西大家基本上能够猜个差不多了.下面描述描述计划.计划这个东西把企业资源这个东西提升了不只十倍二十倍了.ERP的核心是计划,但是这次我们做是不做计划的.今年我们是一个生产型企业,我们要开 ...

  8. 2015年传智播客JavaEE 第168期就业班视频教程 02-ERP简介

    其实ERP描述的是管理一个企业的整体的所有的资源.ERP是帮你管整个企业的运行.那它是管哪一类企业呢?比如说帮光线传媒.ERP更多是用在生产制造企业,这是最好的,其次的就是这种销售型企业,二道贩子那种 ...

  9. 2015年传智播客JavaEE 第168期就业班视频教程17-登录功能业务逻辑实现(代码)

    点击红色在业务层接口EmpEbi创建方法login 按F4弹出类继承层次视图 这些快捷键是条件反射了. 业务层做MD5数据加密,不能放在表现层也不能放在数据层必须放在业务层.它属于业务操作. 数据层的 ...

随机推荐

  1. Struts2基本使用(二)--配置文件简述

    配置文件简述 引入Struts2框架之后项目中多了一个struts.xml,以及web.xml也多了一些代码 web.xml只要的功能就是拦截用户的请求其多出的代码如下: <filter> ...

  2. facade外观模式

    通过买股票与通过基金买股票引出外观模式: package com.disign.facade; /** * Created by zhen on 2017-05-18. */ public class ...

  3. 关于数据库SQL语句的编写规范与tips

    1. 插入数据时,建议使用如下B(指定字段名称赋值)的形式 A. update ${table} values('a','b','c;): B. update ${table} set (a,b,c) ...

  4. 都是用 DllImport?有没有考虑过自己写一个 extern 方法?

    你做 .NET 开发的时候,一定用过 DllImport 这个特性吧,这货是用于 P/Invoke (Platform Invoke, 平台调用) 的.这种 DllImport 标记的方法都带有一个 ...

  5. test20181025 Color

    题意 分析 自己的想法 可以莫队+平衡树. 对每个颜色维护一颗平衡树,然后移动莫队端点的时候在平衡树中查询. 区间加操作容易实现. 单点修改转化为平衡树的插入删除. 感谢Z前辈的指导. 时间复杂度\( ...

  6. streamsets Processors 说明

    Processors 表示对于一种数据操作处理,在pipeline中可以应用多个Processors, 同时根据不同的执行模式,可以分为独立模式的,集群模式.边缘模式(agent),以及 帮助测试的测 ...

  7. Rotor envoy control plane 简单试用

    rotor 基于golang 的envoy xds 服务,支持多种集成方式: k8s consul aws dc/os demo试用docker 以及consul 进行环境运行 下载demo 可以试用 ...

  8. yarn workspaces基本试用

    初始化项目 yarn init -y 添加workspaces 支持 修改package.json { "name": "second", "vers ...

  9. CentOS 6.5 下搭建NTP服务器

    参考网站: http://www.iyunv.com/thread-64847-1-1.html http://acooly.iteye.com/blog/1993484 1         检查系统 ...

  10. mysqlinsert触发器的创建

    CREATE DEFINER=`wpsuper`@`%` TRIGGER `o2oinsert` BEFORE INSERT ON `t_s_o2o`FOR EACH ROW begin set Ne ...