使用 cakePHP 这是我的情况:
我有用户和Order
s。Order
s 由用户创建。只有创建它的用户才被Order
允许编辑它。(管理员也可以,但我认为这并不重要)。
我正在使用标准的 Auth 组件,并在我的 OrdersController 中有一个 isAuthorized 函数,用于检查用户是否已登录并阻止用户执行他们不允许执行的操作。
我想根据传递的参数和来自数据库的数据来决定用户是否可以执行操作。即用户是否拥有他们试图编辑的订单?如果是这种情况,我目前正在检查每个动作。
有没有一种方法可以触发通过从 isAuthorized 返回 false 触发的相同工作流?也许抛出异常?
我不想在 isAuthorized 函数中进行这些更精细的检查,因为它需要使用丑陋的方法来访问传递的参数,以及重复数据检索。cakePHP 期望我如何处理这个问题?
(我要在其他控制器中进行更复杂的检查)