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

我看到这两个术语有点相似(特别是在基于Web的场景中,但我想它并不局限于此),我在想是否有区别。

在我看来,他们都意味着你可以做你正在做的事情。 那么这仅仅是一个命名的东西,还是在意义上有一个基本的区别?


确实有一个根本的区别。 认证是系统可以安全地识别用户的机制。 认证系统试图提供问题的答案:

  • 谁是用户?
  • 用户真的代表他自己是谁吗?
  • 相反,授权是系统确定特定(已认证)用户对系统控制的资源应具有的访问级别的机制。 对于可能与基于网络的场景相关或不相关的示例,数据库管理系统可能被设计成为某些指定的个人提供从数据库检索信息的能力,但不能改变存储在数据库中的数据的能力数据库,同时赋予其他人更改数据的能力。 授权系统为这些问题提供了答案:

  • 用户X是否有权访问资源R?
  • 用户X是否被授权执行操作P?
  • 用户X是否有权对资源R执行操作P?
  • 史蒂夫赖利写了一篇很好的文章,说明他们为什么必须保持独特。


    认证是指验证实体的身份。 授权处理被认证的实体被允许做的事情(例如文件许可)。


    重点是:

  • 身份验证涉及用户帐户验证。 这是一个有效的用户吗? 该用户是否在我们的应用程序中注册? 例如:登录
  • 授权处理用户访问验证某些功能。 此用户是否有权访问此功能? 例如:声明,角色
  • 链接地址: http://www.djcxy.com/p/3783.html

    上一篇: Is there a difference between authentication and authorization?

    下一篇: Using content type application/x