之前我已经安装了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个表以及如何防止这种情况?它们是否有用,因为管理部分即使没有它们也能正常工作。
答案 0 :(得分:1)
默认情况下,SonataAdminBundle没有任何用户管理,但很可能应用程序需要此类功能。 Sonata项目包括一个SonataUserBundle,它集成了FOSUserBundle。
FOSUserBundle在Symfony2中添加了对数据库支持的用户系统的支持。它为用户管理提供了灵活的框架,旨在处理用户登录,注册和密码检索等常见任务。
SonataUserBundle只是一个薄的包装器,可以将FOSUserBundle包含在AdminBundle中。 SonataUserBundle包括:
SonataAdminBundle有一点魔力:如果bundle检测到SonataUserBundle类,那么默认的user_block模板将被更改为使用SonataUserBundle提供的模板。
请查看此document。希望它有用。