权限系统 RGCA 四步架构法( 二 )
解决方案是帮助我们解决问题的 , 在目标阶段大致定义了需要解决什么问题 , 功能层面只是说明了产品的优势
具体的解决方案是在概念阶段提出的 , 它体现出如何把功能进行详细的描述 , 所以需要推导到到与解决方案相关的场面

文章图片
受保护的资源以API为例进行推导 , 定义为APIAction , 而拦截在ASP.NETCore中表现为AuthorizationFilter
因为它是一个名词 , 不能代表一个过程 , 所以加上ing代表一个过程AuthorizationFiltering
APIAction经过AuthorizationFiltering之后变成一个与解决方案相关的东西
在ASP.NETCoreMvc里面变成一个Result , 它是AuthorizationContext的一个属性
Result有几种类型:Sucess , Forbiden , Challenge

文章图片
受保护的资源除了APIAction之外 , 还可以是Entity , 而所有EF的操作最终都放在DBContext
DBContext有一个SaveChanges的操作 , 以及一个ChangeTracker的属性记录了实体的所有状态
特化:变得更具体
从受保护的资源到APIAction就是一个特化的过程 , 从目标到概念也是一个特化的过程
泛化:变得更抽象
从数据、页面、按钮、API到受保护的资源就是一个泛化的过程
拦截的意图:保护资源
AuthorizationFilter在ASP.NETCore中只能通过在Action上面打标签Authorize的方式进行拦截
这就是所谓的代码埋点 , 比如在entity上面打标签也是代码埋点

文章图片
拦截的上一层是保护资源 , 拦截是保护资源的一种方式 , 需要提前定义受保护的资源
除了受保护的资源 , 对于所有资源需要动态保护 , 可以通过动态拦截的方式
动态拦截需要实现一个DynamicAuthorizationFiltering , 不能覆盖原有的功能

文章图片
保护资源的上一层是安全 , 安全除了保护资源 , 还有很多其他的事情可以做 , 比如记录日志
审计日志会记录用户的所有访问记录 , 企业可以设置权限
通过这种方式可以不停地将需求往上一层寻找 , 一直达到最顶层
除了向上之外还可以向下寻找 , 延伸出整体概念 , 通过概念片段的组合 , 构成完整的整体概念
接下来对拦截这一过程进行展开 , 展开为一组必须得到执行的内部过程 , 针对每一个内部过程 , 选用特定的操作数、过程及工具对象对其进行特化 , 就可以得到相应的概念片段 , 这也是一个特化的过程

文章图片
配置:系统管理员希望对后台所有API请求进行权限控制 , 所以首先需要知道有哪些API , 对每一个action需要可以配置赋权:把角色赋权给用户认证:用户认证之后有一个身份授权:基于身份可以进行授权
将概念扩展为架构
▌价值通路与系统架构
从资源变成权限 , 权限绑定给用户 , 用户进行登录 , 登录之后再进行授权

文章图片
资源分为ActionAccess和EntityAccess
EntityAccess有CanCreate , CanDelete , EntityName , Key几个属性 , 以及每个字段是否允许修改MemberAccess
同理ActionAccess有Url , Name , DisplayName , Verb几个属性

文章图片
注册资源分为EntityExplorer和APIExplorer
- 13代酷睿目前还没有65WTDP型号的主流产品|绝配12代酷睿华擎迷你准系统到手1279元(1.92L体积)
- 很多人都说鸿蒙系统比安卓系统|鸿蒙系统比安卓系统好在哪里?
- 华擎|绝配12代酷睿 华擎迷你准系统到手1279元(1.92L体积 )
- 47 岁从华为退休,操作系统老兵转战 OpenHarmony 生态 | 近匠
- 高大幕墙骨架结构选型成为当下大跨度幕墙系统面临的主要问题|幕墙精制钢型材,新时代下的幕墙新材料【西创系统】
- 苹果macntfs文件系统读写磁盘功能
- win7系统共享打印机的设置方法
- win10系统的更新文件在哪里进行删除
- 电脑使用着越来越卡顿|win10系统自动恢复还原操作方法
- 华为鸿蒙系统的出现|华为鸿蒙系统默认是纯净模式怎么关闭?
