【发布时间】:2015-12-11 09:51:38
【问题描述】:
我正在开发 Laravel 5.1,更具体地说是 Authorization 包。
在这个包之前,我会在FormRequest::authorize() 方法中进行所有的授权检查,因为这个方法是专门为授权检查而设计的。
我现在想在 laravel 中使用原生的 Authorization 包,其中包含 Policy 文件,但我想在 Request 文件中使用它们。
这意味着,据我所知,每个表单请求文件都需要映射到策略文件。
这肯定不对吧?如果我在每个控制器中有 7 个主要方法,那就是 7 个映射到单个策略文件,每个请求文件 1 个。如果我有 20 个控制器,那就是 140 个映射!
我知道我可以在控制器中进行身份验证检查,并且只映射控制器,但这似乎代表 Laravel 的实现很糟糕,否则为什么要在请求中放入 authorize() 方法?
问题
在理想情况下,我想在到达控制器之前检查我的策略身份验证 - 通过在请求中进行。但我不想将我的每个请求文件都映射到策略。
有没有办法从请求中检索目标控制器,这样我就可以只拥有一个映射 - 控制器 -> 策略,并从请求中引用控制器?
【问题讨论】:
标签: php laravel laravel-5.1