【发布时间】:2019-05-26 06:43:26
【问题描述】:
今天我正在创建 USER 个人资料页面,并在 ProfileController 中控制它返回个人资料页面的视图、个人资料设置等。
所以我决定制定一些政策规则来编辑个人资料等。
所以我发现我应该使用中间件/盖茨/策略,基于 Laravel Doc 我选择了策略,因为配置文件页面是公开的,但只有特定部分可以作者编辑,所以我需要 @can
所以我的步骤:
-
php artisan make:policy ProfilePolicy(无模型) - 在
$policies属性中向AuthServiceProvider注册的政策 - 在
ProfilePolicy中编写了类似edit的方法
然后我开始思考如何将它定义给我的控制器嗯,文档对我没有帮助:/
所以我尝试了刀片 @can('edit', $user) 方法并且它有效,但是如何?,如何为一个控制器定义特定策略? (不是Model),如何为单个Controller定义多个Policy
我迷失了 laravel Magic 是如何做到这一点的,可能是因为命名? ProfileController => ProfilePolicy ?
【问题讨论】:
标签: php laravel laravel-5.8