zoukankan      html  css  js  c++  java
  • UseAuthentication和UseAuthorization

    UseAuthentication 就是鉴权 找出解析请求携带的信息

    UseAuthorization 授权 权限检查,看看有没有权限

     我们先来同步几个知识。

    policy 是策略 满足什么条件 不可以叠加 

    roles 是角色 特殊的policy  也是规则只是微软封装好了的特殊策略。 roles 可以多个叠加(roles=(user,admin))

    authenticationSchemes 用户信息来源,比如他是基于cookies 还是jwt 的 .可以多schemes

    1多个Scheme是可以共存的

    2不标记或者标记默认Scheme走的都是默认鉴权

    3也可以通过标记指定Scheme去鉴权

    4声明多个Scheme信息都保存Context.User

    1多个Authorize声明,是需要叠加满足,才能访问
    2单个的Authorize声明,Policy和Role需要同时满足,才能访问
    3 单个的Authorize声明,用户信息来源以AuthenticationSchemes声明为准(没有则用默认,有多个则可以共享用户信息)
    4多个Role可以写在一起,满足一个就行
    5多个Policy,如果要同时满足,就分成多个Authorize声明,如果满足一个就行,则写成一个DRequiredment

    AddUseAuthorization()默认就有了  是在addControllers() 里面的包含的。

    通过源码我们不难看到 UseAuthentication   就是在往context.user 里面装赋值。  在UseAuthorization   授权的时候 看看这个里面又没有这个值 并且有么有权限

    授权源码

     

     

  • 相关阅读:
    软件升级细节卸载删除快捷方式等前需要检测
    安装gitlab的总结
    如何修改vagrant系统的root用户密码
    写一个PHP单例模式
    redis使用笔记
    mysql 删除商品名字重复数据,同时保留最新一条
    杀死僵尸进程
    Django 用户状态管理,认证,失效
    关于iOS多任务的一些扫盲
    ajax异步
  • 原文地址:https://www.cnblogs.com/jasontarry/p/15386139.html
Copyright © 2011-2022 走看看