Sonata用户包创建了4个表

时间:2012-07-09 16:39:19

标签: symfony fosuserbundle symfony-sonata

之前我已经安装了FosUser捆绑包,今天安装了SonataUserBundle。当我--dump-sql时,Symfony想要安装4个新表:

fos_user_user
fos_user_group
for_user_user_group
notification_message

前三个是令人困惑的,因为管理员已经使用现有的...实体\用户类,我甚至设置了关系。

namespace Rent\ProgramBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="tbl_user")
*/
class User extends BaseUser
...

为什么安装这3个表以及如何防止这种情况?它们是否有用,因为管理部分即使没有它们也能正常工作。

1 个答案:

答案 0 :(得分:1)

默认情况下,SonataAdminBundle没有任何用户管理,但很可能应用程序需要此类功能。 Sonata项目包括一个SonataUserBundle,它集成了FOSUserBundle。

FOSUserBundle在Symfony2中添加了对数据库支持的用户系统的支持。它为用户管理提供了灵活的框架,旨在处理用户登录,注册和密码检索等常见任务。

SonataUserBundle只是一个薄的包装器,可以将FOSUserBundle包含在AdminBundle中。 SonataUserBundle包括:

  • 默认登录区域
  • 默认的user_block模板,用于显示当前 用户和注销链接
  • 2管理员类:用户和群组
  • 用户和组的默认类。

SonataAdminBundle有一点魔力:如果bundle检测到SonataUserBundle类,那么默认的user_block模板将被更改为使用SonataUserBundle提供的模板。

请查看此document。希望它有用。