7.2. 站点权限部署

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

部署权限

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

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

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

1. 内容管理权限

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

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

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

本文章首发在 LearnKu.com 网站上。

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

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:1
讨论数量: 2

proHorry
这两课的总结
10 个点赞 | 2 个回复 | 分享 | 课程版本 5.5
xiaocailc
No hint path defined for [sudosu] 问题如何解决?
2 个点赞 | 9 个回复 | 问答 | 课程版本 5.5