Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication Symfony2:在“时获取异常”;“如何创建自定义身份验证提供程序”;_Authentication_Symfony_Provider - Fatal编程技术网

Authentication Symfony2:在“时获取异常”;“如何创建自定义身份验证提供程序”;

Authentication Symfony2:在“时获取异常”;“如何创建自定义身份验证提供程序”;,authentication,symfony,provider,Authentication,Symfony,Provider,我是Symfony2新手,需要创建一个自定义身份验证提供程序,因此我阅读了。 我创建了所有类,也是来自的自定义用户提供程序,但我得到了以下异常: RuntimeException: The parent definition "wsse.security.authentication.provider" defined for definition "security.authentication.provider.wsse.wsse_secured" does not exist. 我复制/

我是Symfony2新手,需要创建一个自定义身份验证提供程序,因此我阅读了。 我创建了所有类,也是来自的自定义用户提供程序,但我得到了以下异常:

RuntimeException: The parent definition "wsse.security.authentication.provider" defined for definition "security.authentication.provider.wsse.wsse_secured" does not exist.

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

您需要更新config.yml,将主应用程序中的bundle包含在服务配置中

# app/config/config.yml
imports:
    - { resource: @AcmeHelloBundle/Resources/config/services.yml }

您需要更新config.yml,将其包含在主应用程序包中的服务配置中

# app/config/config.yml
imports:
    - { resource: @AcmeHelloBundle/Resources/config/services.yml }

如上所述,对于那些有同样问题的人,我认为Reza Sanaie的答案不是预期的解决方案。 您最好检查包中是否有文件/DependencieInjection/Security/{Vendor}{YourBundleName}扩展名.php。该文件需要有正确的文件名,该类将由symfony2内核自动执行。 如果查看该文件的类代码,您将看到如下内容

$loader->load('services.yml');

这将加载您的服务。yml,问题应该得到解决。

如上述评论所述-对于那些有相同问题的人,我认为Reza Sanaie的答案不是预期的解决方案。 您最好检查包中是否有文件/DependencieInjection/Security/{Vendor}{YourBundleName}扩展名.php。该文件需要有正确的文件名,该类将由symfony2内核自动执行。 如果查看该文件的类代码,您将看到如下内容

$loader->load('services.yml');

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

对于WSSE,您可能需要查看打包在一个包中的Symfony2 cookbook文章。我尝试将服务的定义移动到app/config/security.yml,它可以工作。我不知道如果我像教程所说的那样在bundle/Resources/config/services.yml中定义它们,为什么它不起作用。你的DIC是否在你的bundle中加载你的services.yml?是的,实际上我没有为WSSE加载我的services.yml…的bundle*扩展类,你可能想看看哪个是打包的Symfony2菜谱文章。我尝试将服务的定义移动到app/config/security.yml,它可以工作。我不知道如果我像教程所说的那样在bundle/Resources/config/services.yml中定义它们,为什么它不起作用。你的DIC是否在你的bundle中加载你的services.yml?是的,实际上我没有加载我的服务的bundle*扩展类。yml…OP应该接受这一点作为正确的-很好的快速回答,手册对此非常模糊。提到使用了正确的导入语法,但没有说明正确的语法是什么;答案很有魅力。对不起,我应该回答我的问题。。。我只是在上面的评论中提到的。下面是chsymann的正确答案,或者是我在问题下的评论。问题是缺少{YourBundleName}Extension.php fileGood调用,如果您不使用扩展类,那么这肯定是正确的答案。OP应该接受这一点,因为它是正确的-很好的快速答案,手册对此非常模糊。提到使用了正确的导入语法,但没有说明正确的语法是什么;答案很有魅力。对不起,我应该回答我的问题。。。我只是在上面的评论中提到的。下面是chsymann的正确答案,或者是我在问题下的评论。问题是缺少{YourBundleName}Extension.php fileGood调用,如果不使用扩展类,这肯定是正确的答案。