php - 在 CakePHP 3 中在哪里使用 Auth->allow 和 Auth->deny
问题描述
我看到在 CakePHP 3 文档示例中,Auth 组件允许和拒绝函数用于控制器的初始化函数。而我在网上和 stackoverflow 上看到了一些示例,人们在beforeFilter中使用这些方法调用。
在 CakePHP 3.6 应用程序中处理这个问题的最好和最有效的方法是什么?我应该使用以下方法调用:
$this->Auth->allow(/*...*/);
$this->Auth->deny(/*...*/);
在初始化或beforeFilter 中?
谢谢你的帮助。
解决方案
默认情况下,实际检查是否允许操作是在Controller.startup
事件中进行的。由于需要在此之前定义允许/不允许的操作,并且两者都Controller::initialize()
满足Controller::beforeFilter()
此要求,因此两者都应该是定义允许操作的良好候选者。
但是,在Auth
配置中,您可以更改完成此检查的事件,因此定义允许操作的更安全的地方是Controller::initialize()
,因为它在任何Auth
可以挂钩的事件之前被调用。
推荐阅读
- electron - 如何判断消息是来自主进程中的 send 还是 sendSync?
- javascript - 如何按内部结构对列表进行排序?
- kubernetes - 如何将临时数据存储到 Kubernetes 集群?
- javascript - Swift 和开放式声音控制 (OSC) 通信
- php - CI PHP:如何在使用双 Foreach 循环时将数据保存在数组中并将其转换为 json 编码?
- c# - 如何从文件中读取所有数字然后将它们加在一起?
- javascript - javascript:获取由另一个函数调用的函数的返回
- javascript - 模型中的 NodeJs Express 4 异步函数似乎在完成之前返回
- javascript - ckeditor gem custom config.js 未在生产中加载
- python - itertools islice 输出多条txt行