8.1. 多角色用户权限
什么是多角色?
角色和权限是许多 Web 应用程序的重要组成部分。角色就是用户在站点中的身份,很多时候与站点权限相关联。
以 LaraBBS 为例,将会有以下角色,他们的权限由低到高:
- 游客 —— 没有登录的用户
- 用户 —— 登录用户
- 管理员 —— 社区内容管理
- 站长 —— 权限最高的用户角色
在我们的 LaraBBS 项目里:
- 游客 可以随便浏览页面,但是无法发布内容;
- 用户 能够发布内容,却只能管理自己的内容;
- 管理员 可以管理所有用户的内容,然而不能管理用户;
- 站长 拥有最高权限,可以管理所有内容,包括用户。
『游客』和『用户』我们只需要按照登录状态来辨别即可,『管理员』和『站长』都是登录用户,并且一个用户既可以是管理员也可以是站长。在代码中,我们使用 Role 数据模型来作为角色的表现,角色能做的动作,我们称之为权限,使用数据模型 Permission 来表现。...