Symfony2:"如何创建自定义身份验证提供程序"时出现异常

sch*_*aun 1 authentication provider symfony

我是Symfony2的新手,需要创建自定义身份验证提供程序,所以我阅读了如何创建自定义身份验证提供程序.我创建了所有类,也从如何创建自定义用户提供程序的自定义用户提供程序,但我得到此异常:

RuntimeException: The parent definition "wsse.security.authentication.provider" defined for definition "security.authentication.provider.wsse.wsse_secured" does not exist.
Run Code Online (Sandbox Code Playgroud)

我从Cookbook中复制/粘贴了所有类和配置部分,只更改了我的Bundlename.

Rez*_*a S 5

您需要更新config.yml以包含在主应用程序中的捆绑包中的services配置中

# app/config/config.yml
imports:
    - { resource: @AcmeHelloBundle/Resources/config/services.yml }
Run Code Online (Sandbox Code Playgroud)


chs*_*ann 5

如上面的评论所述 - 对于那些有同样问题的人,我认为Reza Sanaie的答案不是预期的解决方案.您应该更好地检查Bundle中是否有文件/DependencieInjection/Security/{Vendor}{YourBundleName}Extension.php.该文件需要具有正确的文件名,并且该类将由symfony2内核自动执行.如果你看一下这个文件的类代码,你会看到类似的东西

$loader->load('services.yml');
Run Code Online (Sandbox Code Playgroud)

这将加载您的services.yml,问题应该解决.