你能分清楚 Authentication 和 Authorization 吗?
它们的意思是这样的:
Authentication 认证
Authorization 授权
认证
认证的目的是让人顺利登入系统。
在 Laravel 中,使用 make:auth
Artisan 命令,就能有一个认证系统了:登录、注册和找回密码。
如果一个人没有登录,就想访问登录用户才能访问的地址(比如 /dashboard
),理论上就会报 401 Unauthorized
错误。
授权
授权跟用户有关,所以单词里有一个 Author
。
那么就是说,只有登入系统才是用户,可作为用户的你,能做什么,就需要授权了。
Laravel 在 5.1 版本中引入了 Gate 和 Policy 的概念,就是为了能定义授权、然后给用户使用上授权。
举一个授权的例子:文章置顶。以 Laravel China 为例,不是每一个用户都有文章置顶权限的。
如果用户没有文章置顶权限,但机缘巧合访问到了文章置顶 URL 地址,理论上就会报 403 Forbidden
错误。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: