我们在看文档经常会遇到这两个单词,但是很多人对这两个单词的理解有些模糊,所以我今天给大家简单介绍一下,以后读文档会更舒服一些。

所以你可以看一下 Laravel 的文档

  1. Authentication ,主要讲的是和登录相关的内容。
  2. Authorization ,主要讲的是权限相关的内容(注意,Gates 和 Policies 都必须是在用户登录后才有意义,如果没有登录态,直接返回 false)。

讲完这个在说一说对应的 Http Status Code:

  1. Authentication:未登录的时候调用需要登录的接口,一般使用 401 Unauthorized。
  2. Authorization:登录后请求没有权限的接口,一般使用 403 Forbidden。

那么肯定有同学问了,为什么 401 是 Unauthorized 而不是 Unautheticated 呢?这不是坑人吗?事实上,参考 RFC,好像确实是弄错了。

我贴一篇解释,秒懂:原文链接