【问题标题】:Where to use Auth->allow and Auth->deny in CakePHP 3在 CakePHP 3 中在哪里使用 Auth->allow 和 Auth->deny
【发布时间】:2018-09-11 03:03:28
【问题描述】:

我看到在 CakePHP 3 文档示例中,Auth 组件 allowdeny 函数用于控制器的 initialize 函数。而我在网上和 stackoverflow 上看到了一些示例,人们在 beforeFilter 中使用这些方法调用。

在 CakePHP 3.6 应用程序中处理这个问题的最好和最有效的方法是什么?我应该使用以下方法调用:

$this->Auth->allow(/*...*/);
$this->Auth->deny(/*...*/);

initializebeforeFilter 中?

感谢您的帮助。

【问题讨论】:

    标签: php cakephp php-5.6 cakephp-3.6


    【解决方案1】:

    默认情况下,实际检查是否允许操作是在Controller.startup 事件中进行的。由于需要在此之前定义允许/不允许的操作,并且 Controller::initialize()Controller::beforeFilter() 都满足此要求,因此两者都应该是定义允许操作的良好候选者。

    但是,在Auth 配置中,您可以更改完成此检查的事件,因此定义允许操作的更安全的位置是Controller::initialize(),因为它在Auth 可以挂钩的任何事件之前调用。

    【讨论】:

      猜你喜欢
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-27
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      相关资源
      最近更新 更多