在加一个策略,要求cliam的值必须是123

第二个参数的类型

可变参数 ,可以是这三种类型

变成一个集合也可以

策略内置的几种方式

自定义


RequireAssetion的参数是个Func,Func可以理解为一个匿名方法,匿名方法有个参数叫做Conext,全名叫做

全名叫做AuthorizationHanlderContext

p判断当前用户是否有个Edit Albums的cliam。如果有就返回true

上面和下面道具是一样的 下面的可以自定义写一个代码进行更复杂的裸机判断

可变参数,手写一些类,让类实现这个接口。参数里面可以加上自定义的requirment类

https://www.cnblogs.com/cgzl/p/9282059.html

6分29秒


继承自:IAuthorizationRequirement。
属性就是要暴露给外面使用

让这个邮箱以126.com为结尾的邮箱

Requirement有了,怎么怎么处理呢?需要一个handler
这里加多个自定义的Requirement

新建类EmailHandler

实现接口:AuthorizationHandler泛型的类型就是 EmailHandler 

查看类型是Email 的

把类别单独独立出来


如果满足要求了就返回成功,否则就是啥也没干。返回的不是失败,是啥也没干

注册这个Handler


再做一个无参的Requirement。意思是要找合格的用户,具体怎么合格要看handle了

创建handler,可以编辑专辑的用户就是合格的用户


争对这个requirement再写一个handler

注册一个requirement和两个handler

现在这个策略里面有两个requirement,看看是两个都满足呢还是满足一个就可以

给AlbumController加上属性

可以加多个测流,不过这里我就先添加一个策略做测试

这一个策略里面有两个Requirement,看看最终是满足一个还是两个都要满足

我们这个Email的Requirement里面判断是要Cliam带Email的 当前里面的用户应该是都不满足的

但是肯定有用户满足第二个要求

测试下这个用户 有Editg Albums这个Cliam

管理员角色下有这两个用户

这三个用户都满足第二个Requirement的其中的一个handler。但是没有人满足126邮箱的handler。虽然有126邮箱但是没放在Claim里面

这个用户应该有权限的 ,。但是点进去之后,提示不行

也就是策略里面的这两条必须要同时满足,现在把上面Email的注释掉

这次可以访问了

这个用户满足Edit Albums这个要求

被拒绝了

这里加个字母s

最新文章

  1. Android四大组件之一“广播”
  2. java6
  3. oracle 笔试题
  4. AngularJs定制样式插入到ueditor中的问题总结
  5. ClientAbortException 异常解决办法
  6. jquery ajax load
  7. Java学习-022-Properties 文件数据写入
  8. double精度问题,数据范围
  9. POJ 2492 A Bug's Life (并查集)
  10. BZOJ 2946: [Poi2000]公共串( 后缀自动机 )
  11. Newtonsoft.Json使用
  12. .net dynamic动态加属性
  13. iOS SDWEBImage和collectionView的组合,以及collectionView的随意间距设置
  14. 2017年的golang、python、php、c++、c、java、Nodejs性能对比(golang python php c++ java Nodejs Performance)
  15. php5.3 安装 Zend Guard Loader
  16. Spring AOP 简介
  17. mysql 安装不了的问题解决
  18. json模块&xml
  19. Oracle 12C -- 在相同的列的集合上创建多个索引
  20. Spring Batch事务处理

热门文章

  1. 【转载】容器技术 & Docker & 与虚拟化的比较
  2. 【C#】高级语言特有的单例模式
  3. 计算机网络系列:2M的宽带指的是下载速度么?
  4. 在linux中安装.sh 文件
  5. 横跨十年CPU架构回顾
  6. java 文件读写的有用工具
  7. ViewGroup如何分发事件
  8. 关于用HOOK拦截键盘的一些问题
  9. Ghost wenjian目录
  10. Spring boot 使用Junt