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

时间:2011-06-16 06:20:25

标签: security

我认为这两个术语相当多(特别是基于网络的场景,但我认为并不仅限于此),我想知道是否存在差异。

在我看来,他们都意味着你被允许做你正在做的事情。那么这只是一个命名法,还是意义上有一个基本的区别?

17 个答案:

答案 0 :(得分:128)

确实存在根本区别。身份验证是系统可以安全地识别其用户的机制。身份验证系统寻求提供问题的答案:

  • 谁是用户?
  • 用户真的是他/她代表自己的人吗?
相反,授权是一种机制,通过该机制,系统可以确定特定(经过身份验证的)用户对系统控制的资源应具有的访问级别。对于可能与基于Web的场景相关或不相关的示例,可以设计数据库管理系统,以便为某些指定的个人提供从数据库检索信息的能力,但不能改变存储在数据库中的数据的能力。数据库,同时让其他人能够更改数据。授权系统提供问题的答案:

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

史蒂夫莱利写了一篇非常好的essay,说明为什么他们必须保持不同。

答案 1 :(得分:40)

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

答案 2 :(得分:12)

重点是:

  • 身份验证处理用户帐户验证。这是一个有效的用户吗?此用户是否已在我们的应用程序中注册?例如:登录
  • 授权处理对特定功能的用户访问验证。此用户是否拥有访问此功能的授权/权限?例如:索赔,角色

答案 3 :(得分:5)

<强>认证

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

<强>授权:

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

答案 4 :(得分:2)

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

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

答案 5 :(得分:1)

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

授权是验证用户是否具有访问网站的某些资源或部分的权限/权限的过程,例如,如果其CMS是被授权更改网站内容的用户。在办公楼方案方面,允许用户进入办公室的网络空间。

答案 6 :(得分:1)

如果我可以登录,我的凭据就会得到验证,而且我已经过AUTHENTICATED。如果我能执行特定任务,我授权这样做。

答案 7 :(得分:1)

身份验证可验证您的身份,授权可验证您有权执行的操作。例如,您可以通过ssh客户端登录Unix服务器,但您无权浏览/ data2或任何其他文件系统。成功验证后发生授权........

答案 8 :(得分:0)

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

这里有些文章非常类似于passport versus a lock and key

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

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

答案 9 :(得分:0)

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

授权 用于检查用户是否可以访问该应用程序,或者哪些用户可以访问以及哪些用户不能访问。 来源:Authentcation Vs Authorization

答案 10 :(得分:0)

身份验证

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

身份验证类型:

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

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

授权

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

OAuth 是开放的授权标准。

答案 11 :(得分:0)

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

1)身份验证意味着“你是谁,你是谁?”

2)授权意味着“你能做你想做的事吗?”。

这也在下图中描述。

enter image description here

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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

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

答案 14 :(得分:0)

验证

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

授权

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

答案 15 :(得分:0)

身份验证:验证用户是谁。

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

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

从用户的角度来看,当她能够发送访问系统的请求并执行某些操作(例如在系统中上传文件)并且它可以正常工作时,就会成功进行授权。

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

答案 16 :(得分:0)

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