我遇到了FOSUserBundle和HWIOauthBundle的问题。我使用自定义CustomChecker
来检查用户是否被禁止(数据库中的自定义表,因为我需要禁止历史记录)。当我使用Facebook登录时,我的'MySqlConnector/Net'
未被使用。当我使用登录名和密码作为身份验证时,它确实有效。
GitHub问题:https://github.com/hwi/HWIOAuthBundle/issues/1358
任何人都知道如何解决这个问题?
答案 0 :(得分:1)
服务与发展构造
如果要修改其他捆绑包的服务定义,可以 使用编译器传递来更改服务的类或进行修改 方法调用。在下面的示例中,实现类为
original-service-id
已更改为App\YourService
:
// src/Kernel.php
namespace App;
// ...
+ use App\Service\YourService;
+ use Symfony\Component\DependencyInjection\ContainerBuilder;
+ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
class Kernel extends BaseKernel implements CompilerPassInterface
{
+ public function process(ContainerBuilder $container)
+ {
+ $definition = $container->findDefinition('original-service-id');
+ $definition->setClass(YourService::class);
+ }
}
答案 1 :(得分:0)
我确认,@ Domagoj的解决方案适用于Symfony 3.4。
# app/config/services.yml
services:
...
security.user_checker:
class: AppBundle\Service\YourUserChecker
使用此代码,您的UserChecker会覆盖hwi.user_checker。
谢谢。