Authentication 如何在CakePHP中更改身份验证插件中的查找器模型

Authentication 如何在CakePHP中更改身份验证插件中的查找器模型,authentication,cakephp,Authentication,Cakephp,在内置的CakePHP AuthComponent中,我可以通过以下方式更改AppController.php中的dynamicaliuserModel或finder: $this->Auth->setConfig('authenticate.Form.finder', 'Custom'); 但是,在新的身份验证插件()中,我在Application.php中设置了userModel和finder 现在,如何在AppController.php中更改这些变量?您不能这样做,此时身份

在内置的CakePHP AuthComponent中,我可以通过以下方式更改AppController.php中的dynamicali
userModel
finder

$this->Auth->setConfig('authenticate.Form.finder', 'Custom');
但是,在新的身份验证插件()中,我在Application.php中设置了
userModel
finder


现在,如何在AppController.php中更改这些变量?

您不能这样做,此时身份验证已经完成。我建议您解释一下为什么需要在控制器级别上这样做,然后也许有人可以为中间件级别提供一个解决方案。我将它用于不同的领域,用于管理员(用户)和客户(雇主扩展用户)自定义查找器。它基于路由前缀。现在,我当然知道在
getAuthenticationService
方法中,我可以通过
ServerRequestInterface$request
参数检查前缀。但是我将每个关于身份验证的设置都移动到了单独的插件中,精确地移动到
plugin.php
文件中。对我来说,这听起来像是授权,即基于已识别的用户角色/功能允许/拒绝访问资源。授权故意不包括在身份验证插件中,因为这是一个单独的问题,授权插件涵盖了这一点。也许你只需要摆脱这种想法,这是一个认证层的工作?但这取决于。。。当你说“关于身份验证的设置”时,你的确切意思是什么?这些设置在
插件
类中的什么位置?它们是如何与你的应用程序控制器连接的?我们从主题开始运行。。。AppController提供了更改
userModel
finder
方法的选项?我只是想帮助您找到解决您试图解决的潜在问题的解决方案。正如我在第一篇评论中所说的,这是不可能的,身份验证发生在中间件层,在控制器层你无能为力,为时已晚。你不能这样做,身份验证在那一点上已经完成了。我建议您解释一下为什么需要在控制器级别上这样做,然后也许有人可以为中间件级别提供一个解决方案。我将它用于不同的领域,用于管理员(用户)和客户(雇主扩展用户)自定义查找器。它基于路由前缀。现在,我当然知道在
getAuthenticationService
方法中,我可以通过
ServerRequestInterface$request
参数检查前缀。但是我将每个关于身份验证的设置都移动到了单独的插件中,精确地移动到
plugin.php
文件中。对我来说,这听起来像是授权,即基于已识别的用户角色/功能允许/拒绝访问资源。授权故意不包括在身份验证插件中,因为这是一个单独的问题,授权插件涵盖了这一点。也许你只需要摆脱这种想法,这是一个认证层的工作?但这取决于。。。当你说“关于身份验证的设置”时,你的确切意思是什么?这些设置在
插件
类中的什么位置?它们是如何与你的应用程序控制器连接的?我们从主题开始运行。。。AppController提供了更改
userModel
finder
方法的选项?我只是想帮助您找到解决您试图解决的潜在问题的解决方案。正如我在第一篇评论中所说的,这是不可能的,身份验证发生在中间件层,在控制器层你无能为力,为时已晚。