Symfony,security.yml"未知实体命名空间别名"

时间:2015-05-29 11:13:58

标签: php symfony doctrine-orm doctrine

我想在我的项目中实现Symfony安全性。问题是我必须使用两个数据库(一个用于管理员,第二个用于用户)。我已经配置了config.yml:

orm:
        auto_generate_proxy_classes: %kernel.debug%
        default_entity_manager: default
        entity_managers:
            default:
                connection: system
                mappings:
                    FinanceCmsBundle:  ~
            admin:
                connection: admin
                mappings:
                    FinanceCzBundle:  ~

并设置我的security.yml:

security:
    encoders:
        Finance\CmsBundle\Entity\AuthUser:
            algorithm: md5
            encode_as_base64: false
            iterations: 0
        Finance\CzBundle\Entity\SystemAuthMailCentrum:
            algorithm: md5
            encode_as_base64: false
            iterations: 0

    providers:
        administrators:
            entity:
                class: FinanceCmsBundle:AuthUser
                property: username
        ussers:
            entity:
                class: FinanceCzBundle:SystemAuthMailCentrum
                property: username

在我开始之前,我在FinanceCmsBundle:SystemAuthMailCentrum下的数据库表上复制了它,它运行正常。

现在aplication以" Doctrine \ ORM \ ORMException

结束

Unknown Entity namespace alias 'FinanceCzBundle'"

我试图在config.yml中切换它们(FinanceCzBundle和FinanceCmsBundle),看起来aplication只知道config.yml中设置的默认Bundle。因为在此切换之后它找不到FinanceCmsBundle。

所以我尝试使用完整的路线,如:

 providers:
        administrators:
            entity:
                class: Finance\CmsBundle\Entity\AuthUser
                property: username
        ussers:
            entity:
                class: Finance\CzBundle\Entity\SystemAuthMailCentrum
                property: username

之后我得到了不同的错误:"Doctrine\Common\Persistence\Mapping\MappingException

The class 'Finance\CzBundle\Entity\SystemAuthMailCentrum' was not found in the chain configured namespaces Finance\CmsBundle\Entity"

非常感谢您的回答。

P.S:使用一个数据库会更容易,但代码很旧,我不得不在很多地方修复它。

1 个答案:

答案 0 :(得分:1)

尝试将实体管理器设置为提供者,我认为它应该有所帮助:

providers:
    administrators:
        entity:
            class: FinanceCmsBundle:AuthUser
            property: username
    ussers:
        entity:
            class: FinanceCzBundle:SystemAuthMailCentrum
            property: username
            manager_name: admin