1

我按照官方教程安装 FOSUser,然后安装 SonataUser 包和我的 app/Application/Sonata/UserBundle/Entity 扩展。

现在我有 4 个表:fos_user、fos_user_group、fos_user_user 和 fos_user_user_group。

我的安全.yml

security:
    providers:
        fos_userbundle:
            id: fos_user.user_manager

我的 config.yml

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Me\UserBundle\Entity\User
#    user_class: Application\Sonata\UserBundle\Entity\User

我的 /app/Application/Sonata/UserBundle/Resources/config/doctrine/User.orm.xml

...
<entity name="Application\Sonata\UserBundle\Entity\User" table="fos_user_user">
    <id name="id" column="id" type="integer">
        <generator strategy="AUTO" />
    </id>
</entity>
...

我还创建了我的 UserBundle,就像它编写的 fosuser 文档一样。

因此用户使用 fos_user 进行身份验证,但奏鸣曲管理员显示来自 fos_user_user 的用户

我的配置可能有什么问题?

4

2 回答 2

2

我花了几个小时发现 fos_user 和 sonata_user 都应该在 config.yml 中注册:

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: App\UserBundle\Entity\User
    group:
        group_class: App\UserBundle\Entity\Group

sonata_user:
    class:
        user:  Me\UserBundle\Entity\User
        group: Me\UserBundle\Entity\Group
于 2012-10-28T00:50:13.423 回答
1

我终于按照这个好的教程一步一步地重新启动了整个 FOSUser 和 SonataUser/Admin 安装。

我认为我的错误是使用我的包扩展 FOSUser,而 Sonata 已经通过轻松扩展扩展了它。

所以我完全删除了我的 UserBundle。

于 2012-07-02T08:39:15.610 回答