你能分清楚 Authentication 和 Authoriza
2018-10-07 本文已影响9人
晨曦入诗
它们的意思是这样的:
Authentication 认证
Authorization 授权
认证
认证的目的是让人顺利的登入系统。
在 Laravel 中,使用 make:auth
Artisan 命令,就能有一个认证系统了:登录、注册和找回密码。
如果一个人没有登录,就想访问只有登录用户才能访问的地址,理论上就会报 401 Unauthorization
错误。
授权
授权和用户有关,所以单词里有一个 Author
。
那么就是说,只有登入系统才是用户,可作为用户的你,能做什么,就需要授权了。
Laravel 在5.1 版本中引入了 Gate 和 Policy 的概念,就是为了能定义授权,然后给用户使用上授权。
举一个授权的例子:文章置顶。以 Laravel China 为例,不是每一个用户都有文章置顶权限的。
如果没有文章置顶权限,但机缘巧合访问到了文章置顶 URL 地址,理论上就会报 403 Forbidden
错误。