身份验证与授权

2025-06-04

身份验证与授权

我决定写这篇小文章,因为我经常混淆 AUTHeNtication 和 AUTHoriZyr ation,并希望帮助其他遇到困难的人更清楚地理解它们。


身份验证授权是两个相关的词,经常互换使用,但含义不同,并且在系统中具有不同的功能。

替代文本(4)

身份验证(Auth-N)

身份验证是验证用户是否是他们所声称的身份的行为。

可以通过使用诸如钥匙卡之类的物理手段、让用户使用密码或 2FA 登录、使用验证码测试,甚至对用户进行生物识别来实现真实性的验证。

身份验证通常与授权结合使用,因为在授权之前验证用户的身份非常重要。

授权(Auth-Z)

授权是授予用户访问特定资源或功能的权限的过程。

授权级别是普通用户和管理员用户之间的区别。管理员用户拥有比普通用户更多的权限,因此,正确授权权限至关重要,以确保普通用户不会意外或故意破坏系统。

请记住,获得授权并非 100% 需要身份验证。这取决于系统本身以及系统拥有的信息/能力,以及是否需要不同级别的授权,以及在何处需要身份验证。

想象一下一个博客平台……
-每个人都应该有权阅读公开帖子。-
用户需要验证身份才能发布博客,而不是以他人身份发布。-
管理员在验证身份后,需要获得不同级别的授权才能监控平台、相关数据库及其用户活动。
在这种情况下,授权之前需要进行身份验证,以确保用户无法以其他用户身份发布博客,并且用户无法像管理员一样修改内容。


快乐黑客

参考

  1. 安全+证书簿
  2. Web应用程序黑客手册
  3. https://auth0.com/docs/authorization/concepts/authz-and-authn
  4. https://www.ssl2buy.com/wiki/authentication-vs-authorization-whats-the-difference
请注意,我还在学习中。如果我说的有误,请告诉我。我很想进一步了解那些我可能还不太理解的地方。
文章来源:https://dev.to/caffiendkitten/authentication-vs-authorization-25lc
PREV
使用 Jest 和 TypeORM 进行测试
NEXT
我希望自己早点学到的 15 件事,作为一名软件开发人员