• 1
  • 0
分享

1、引言

小屌丝:鱼哥,啥是认证,啥是鉴权?

小鱼:嗯?? 做了这么多年码农,这个还不知道呢?

小屌丝:唉~~ 没整明白啊,能不能给我讲一讲啊

小鱼:好吧,正好今晚有时间,我就把 认证、鉴权、授权及权限控制这点事,都给你说一说。

小屌丝:奈斯啊。

2、鉴权方案

2.1 认证

定义:

认证(Identification) :是指根据声明者所特有的识别信息,确认声明者的身份。

常见的认证技术:

身份证;

用户名和密码;

用户手机:手机短信、手机二维码扫描、手势密码;

用户的电子邮箱;

用户的生物学特征:指纹、语音、眼睛虹膜;

用户的大数据识别;

2.2 鉴权

定义:

鉴权(Authentication) :在信息安全领域是指对于一个声明者所声明的身份权利,对其所声明的真实性进行鉴别确认的过程。

若从授权出发,则会更加容易理解鉴权。

授权和鉴权是两个上下游相匹配的关系,先授权,后鉴权。

应用场景:

在现实生活领域: 门禁卡需要通过门禁卡识别器,银行卡需要通过银行卡识别器;

在互联网领域: 校验 session/cookie/token 的合法性和有效性

鉴权 是一个承上启下的一个环节,上游它接受授权的输出,校验其真实性后,然后获取权限(permission),这个将会为下一步的权限控制做好准备。

2.3 授权

定义:

授权(Authorization):在信息安全领域是指资源所有者委派执行者,赋予执行者指定范围的资源操作权限,以便对资源的相关操作。

应用场景:

在现实生活领域: 银行卡(由银行派发)、门禁卡(由物业管理处派发)、钥匙(由房东派发),这些都是现实生活中授权的实现方式。

在互联网领域例如: web 服务器的 session 机制、web 浏览器的 cookie 机制、颁发授权令牌(token)等都是一个授权的机制。

2.4 权限控制

定义:

权限控制(Access/Permission Control): 将可执行的操作定义为权限列表,然后判断操作是否允许/禁止。

对于权限控制,可以分为两部分进行理解:

权限,

控制。

权限是抽象的逻辑概念,而控制是具体的实现方式。

应用场景:

在现实生活领域: 以门禁卡的权限实现为例,一个门禁卡,拥有开公司所有的门的权限;一个门禁卡,拥有管理员角色的权限,因而可以开公司所有的门。

在互联网领域: 通过 web 后端服务,来控制接口访问,允许或拒绝访问请求。

2.5 认证,鉴权,授权及权限控制的关系

这四个关系,就是这种:

认证→授权→鉴权→权限控制

注意

在以下场景,这四个环节会同时发生:

使用门禁卡开门: 认证、授权、鉴权、权限控制四个环节同时发生。

网站登录: 用户在使用用户名和密码进行登录时,认证和授权两个环节一同完成,而鉴权和权限控制则发生在后续的请求访问中,比如在选购物品或支付时。

3、总结

关于认证、鉴权、授权、权限控制 及四者的关系,今天就分享到这里。

下一篇,我会分享 HTTP 基本鉴权、Session-Cookie 鉴权、Token鉴权等等。

我是奕然

CSDN博客专家

51Testing认证讲师

关注我,带你学习更多更专业的测试开发技术。


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 用Jmeter实现dubbo接口测试的文章,网上可以找到很多,但是只看不练假把式。废话不多说,直接上干货。写这篇文章的过程也是自己不断学习的过程。一、准备(1)自行下载安装zookeeper-3.4.6(这里的版本是我用的,可以自行下载自己喜好的版本)(2)自行下载apache-jmeter-3.1,这是免安装的,解压后\Jmeter\apache-jmeter-3.1\bin目录下执行jmeter.bat即可启动。(3)开发环境STS(即Spring Tool Suite)(4)dubbo-admin-2.4.1(这个是非必须的,主要是为了查看Dubbo的服务提供者和消费者) 二、...
            4 4 3318
            分享
          •   在中国游戏产业收入和用户规模双降的2022年,游戏人的日子并不好过。减员消息从年初传到年尾,无论是腾讯、网易这样的头部大厂,还是心动、叠纸等一众游戏新贵,都无一幸免。  由于绝大部分公司对减员避而不谈,实际情况不得而知。近日,伴随一众游戏上市公司披露年报,外界终于得以一窥过去一年游戏行业和相关从业者的真实生存境况。  在时代财经统计的17家披露员工人数变化的港股游戏上市公司中,有10家游戏公司存在减员情况。其中,减员超过10%的有6家,减员比例最高的蓝港互动一年之内砍掉近三分之一的员工。  而在扩张的7家游戏公司之内,仅有望尘科技、青瓷游戏两家刚刚上市,仍处在迅猛发展阶段,公司人员增长超过...
            0 0 657
            分享
          • 一.兼容性测试直播的兼容性测试则是在不同的机型、不同的系统、不同的分辨率以及不同网络环境下测试是否可以正常开播,进入直播间观看直播、发送消息并且在直播结束时可以正常跳转到直播结束页面进行相关操作。图1.1 兼容性测试二.性能测试针对直播间的性能测试主要涉及到以下几个方面:图2.1 性能测试CPU:iOS可以使用instruments中的Activity Monitor帮助测试。Android可以利用Android Studio 自带 CPU检测功能进行测试 。内存:iOS可以使用instruments的 Leaks、Activity Monitor 、Allocations 、Zombies帮...
            14 14 1569
            分享
          •   对于质量问题,直接以小故事的形式展开,下面是针对质量复盘的一些思考。  技术方案阶体现测试用例  对于业务项目来说,会存在测试资源、冒烟用例、精准测试、QA 新业务的业务回归、核心业务的 UI 自动化、高铁阶段的 QA 人工回归等。  这里简单讲讲这些词语,对于新的业务项目,一定会有测试资源,简单说就是 QA,新项目在经过 PRD、MRD、需求讨论会、Kick-off 之后,技术方案评审后,会经过测试用例评审,产出的结果就是用例指南,到时候 QA 会在用例平台指配给对应的开发。  敏捷开发思想下,业务需求跟车,而不是针对业务项目开车,每周一创建本周高铁,需求买票跟着上车。  上车之前针对你...
            0 0 1031
            分享
          •   自动化听起来很美,但实践并不容易,许多人将其视为实际结果与需求中提供的预期结果的比较,甚至认为自动化就是一系列重复和可重复的操作。如果仅仅停留在这些肤浅的理解往往会导致自动化测试的失败。  下面我从多个角度探讨测试自动化问题,并提出了一些需要关注的主要因素:工具和技术、需求和风险、维护和安全。  工具和技术  软件测试发展至今,市面上已经有很多商业、免费和开源的测试工具。选择哪种工具取决于对产品当前形态的支持程度以及对产品未来演进持续的支持程度。  除了使用现成的自动化工具,也可以选择自研测试工具。而使用哪种技术实现自动化工具就至关重要。例如,Selenium的早期版本还不支持处理浏览器弹...
            0 0 1001
            分享
      • 51testing软件测试圈微信