8.2. 站点权限部署
部署权限
上一章节中,我们安装和初始化了多角色权限管理方案,接下来我们要将权限控制部署到整个项目中。
主要由以下几个地方需要权限控制:
- 拥有
manage_contents
权限的用户允许管理站点内所有话题和回复,包括编辑和删除动作; - Horizon 的控制面板,只有
站长
才有权限查看。
1. 内容管理权限
拥有 manage_contents
权限的用户允许管理站点内所有话题和回复,听起来蛮复杂,事实上,得益于 Laravel 授权策略灵活的授权机制,我们只需要几行代码就可以实现。
我们将使用授权策略的 策略过滤器 机制来实现统一授权的目的。我们只需在策略中定义一个 before()
方法。before
方法会在策略中其它所有方法之前执行,这样提...