身份验证和授权之间有区别吗?


97

我看到这两个词有很多不同之处(特别是在基于Web的场景中,但我认为它不仅限于此),我想知道是否存在区别。

在我看来,这两者都意味着您可以做自己正在做的事情。那么,这仅仅是一个术语,还是含义上的根本区别?


3
是。有很大的不同。维基说什么?有了148k,现在就可以了;-)我可以在不授权您访问“最高机密数据”的情况下验证您是敌人间谍(或未经许可的私人间谍)。

这是“真实”和“授权”之间的区别;无奈地都缩写为“ auth”。Apache用“ authn”和“ authz”来区分它们。
tc。

这在这里非常简单地解释:serverfault.com/a/57082/227016
Kuldeep Jain

这回答了你的问题了吗?认证与授权
Løiten11

Answers:


141

确实存在根本差异。认证是系统可以安全地标识其用户的机制。认证系统试图提供以下问题的答案:

  • 用户是谁?
  • 用户确实是他们声称/代表的用户吗?

相比之下,授权是系统确定特定(经过身份验证的)用户对系统控制的资源应具有的访问级别的机制。对于可能与基于Web的场景有关或不与基于Web的场景有关的示例,可以设计数据库管理系统,以便为某些指定的个人提供从数据库检索信息的能力,但不能为更改存储在数据库中的数据提供能力。数据库,同时赋予其他个人更改数据的能力。授权系统提供以下问题的答案:

  • 用户X是否有权访问资源R?
  • 用户X是否有权执行操作P?
  • 用户X是否被授权对资源R执行操作P?

史蒂夫·赖利(Steve Riley)写了一篇很好的文章,论述了为什么必须保持与众不同。


3
身份验证也适用于其他事物(例如,MAC)。
tc。

您提供的文章很棒,感谢您的分享。
阿卜杜勒·劳夫

43

身份验证是指验证实体的身份。授权处理允许经过身份验证的实体执行的操作(例如,文件权限)。


12

要点是:

  • 身份验证涉及用户帐户验证。这是有效用户吗?该用户是否已在我们的应用程序中注册?例如:登录
  • 授权涉及对某些功能的用户访问验证。该用户是否具有访问此功能的授权/权限?例如:索赔,角色

5

验证方式:

身份验证是通过获取某种凭据并使用这些凭据来验证用户身份来验证用户身份的过程。如果凭据有效,则授权过程开始。身份验证过程始终会进入授权过程。

授权:

授权是通过检查用户是否具有对系统的访问权限,允许经过身份验证的用户访问资源的过程。授权通过授予或拒绝经过身份验证的用户特定的权限来帮助您控制访问权限。


2

以我的经验,身份验证通常是指技术性更高的过程,即对用户进行身份验证(通过检查登录名/密码凭据,证书等),而在应用程序的业务逻辑中更多地使用授权。

例如,在应用程序中,用户可能会登录并通过身份验证,但无权执行某些功能。


1

在网站上对用户进行身份验证意味着您确认该用户是有效用户,即验证该用户使用的是用户名/密码或证书等。通俗地说,是否允许该人进入建筑物?

授权是验证用户是否具有访问网站的某些资源或部分的权利/许可的过程,例如,如果该用户的CMS是被授权更改网站内容的用户。就办公楼场景而言,是否允许用户进入办公室的网络机房。



1

身份验证可验证您的身份,授权可验证您的权限。例如,允许您通过ssh客户端登录Unix服务器,但无权访问浏览器/ data2或任何其他文件系统。成功进行身份验证后将进行授权.....


0

身份验证可验证您的身份,授权可验证您的权限。例如,允许您通过ssh客户端登录Unix服务器,但无权访问浏览器/ data2或任何其他文件系统。成功进行身份验证后,将进行授权。


0

身份验证:验证用户身份

为了进行身份验证,用户提供了诸如用户名和密码之类的凭据信息,如果凭据有效,则用户会收到一个令牌,该令牌可以与将来的请求一起发送以验证其身份。

授权:确定允许用户执行的操作。

从用户的角度来看,当她能够发送访问系统的请求并执行某项操作(例如在系统中上载文件)并且成功时,授权就成功了。

身份验证仅验证身份-确认用户就是她声称的身份。授权确定验证用户可以访问哪些资源。


0

认证方式

身份验证可验证您的身份。例如,您可以使用ssh客户端登录到服务器,或者使用POP3和SMTP客户端访问电子邮件服务器。

授权书

授权会验证您有权执行的操作。例如,允许您通过ssh客户端登录服务器,但无权访问浏览器/ data2或任何其他文件系统。成功进行身份验证后,将进行授权。


0

授权是服务器确定客户端是否有权使用资源或访问文件的过程。

当服务器需要确切知道谁在访问其信息或站点时,服务器将使用身份验证。


0

一个简单的实时示例,如果学生要上学,那么校长正在检查身份验证和授权。 身份验证: 检查学生证,表示他或她是否属于我们学校。 授权: 检查学生是否有权坐在计算机编程实验室。


0

我试图创建一个图像来用最简单的词来解释

1)身份验证的意思是“您说的是您吗?”

2)授权的意思是“您应该能够做自己想做的事吗?”。

下图也对此进行了描述。

在此处输入图片说明


2
为什么要添加只与帖子中文字完全相同的图片?:)
Millenjo '18

0

认证方式

这是验证身份为真还是假的过程。换句话说,验证用户确实是他或她所声称的那个人。

认证类型:

  1. 用户名+密码认证类型
  2. 使用社交帐户进行身份验证
  3. 无密码验证
  4. 多因素认证
  5. 基于指纹或视网膜的身份验证等

OpenID是用于身份验证的开放标准。

授权书

确定具有给定身份或角色的用户可访问哪些资源的技术。

OAuth是授权的开放标准。


0

身份验证:应用程序需要知道谁在访问该应用程序。因此,身份验证与单词谁有关。应用程序将通过登录表单对其进行检查。用户将输入用户名和密码,这些输入将由应用程序验证。验证成功后,将用户声明为已认证。

授权是检查用户是否可以访问应用程序,或者什么用户可以访问以及什么用户不能访问。资料来源:身份验证与授权


0

与其他尝试明确定义定义或技术的响应相比。我将提交一个示例,它可能更有价值。

这是一篇类似于护照与锁和钥匙的文章

在谈论身份验证(也称为AuthN)时,请考虑身份。身份验证尝试回答“他们说的是这个人吗?” 它相当于护照或国民身份证支票的软件。或者说得更现实一些,身份验证与当您看着另一个人的脸来识别出这是您的大学朋友而不是令人讨厌的二楼邻居时的过程类似。

另一方面,授权(也称为AuthZ)与权限有关。授权回答了一个问题“这个人被允许在这个空间里做什么?” 您可以将其视为房屋钥匙或办公室徽章。你可以打开前门吗?您烦人的邻居可以随意进入您的公寓吗?还有,一旦进入您的公寓,谁可以上厕所?谁能从您藏在厨房橱柜里的秘密饼干里吃东西?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.