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

pax*_*blo 94 security

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

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

Mic*_*kis 136

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

  • 谁是用户?
  • 用户真的是他/她代表自己的人吗?

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

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

史蒂夫莱利写了一篇非常好的文章,说明为什么他们必须保持清晰.

  • 身份验证也适用于其他事情(例如MAC). (3认同)

jpm*_*jpm 42

身份验证是指验证实体的身份.授权处理允许经过身份验证的实体(例如文件权限).


小智 12

重点是:

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


Hum*_*mad 5

验证:

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

授权:

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