Menu

7.2. 站点权限部署

部署权限

上一章节中,我们安装和初始化了多角色权限管理方案,接下来我们要将权限控制部署到整个项目中。

主要由以下几个地方需要权限控制:

  • 拥有 manage_contents 权限的用户允许管理站点内所有话题和回复,包括编辑和删除动作;
  • Horizon 的控制面板,只有 站长 才有权限查看。

1. 内容管理权限

拥有 manage_contents 权限的用户允许管理站点内所有话题和回复,听起来蛮复杂,事实上,得益于 Laravel 授权策略灵活的授权机制,我们只需要几行代码就可以实现。

我们将使用授权策略的 策略过滤器 机制来实现统一授权的目的。我们只需在策略中定义一个 before() 方法。before 方法会在策略中其它所有方法之前执行,这样提供了一种全局授权的方案。在 before 方法中存在三种类型的返回值:

  • 返回 true 是直接通过授权;
  • 返回 false,会拒绝用户所有的授权;
  • 如果返回的是 n...

本文章首发在 Laravel China 社区

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
讨论数量: 6

刻意练习,每日精进。
23
点赞
5135
浏览
6
讨论

作者