2014-10-01 86 views
0

我正在使用fosuserbundle登录用户,这工作正常。FOSUserBundle Symfony2。额外登录字段

但是,对于一个新的项目,我想用三场登录这样的:

Field Companyname 

Field Username 

Field Password 

我的问题是如何添加额外的域来验证用户身份?我security.yml

安全

举例: 编码器: FOS \ UserBundle \型号\的UserInterface:SHA512

role_hierarchy: 
    ROLE_ADMIN:  ROLE_USER 
    ROLE_SUPER_ADMIN: ROLE_ADMIN 

providers: 
    fos_userbundle: 
     id: fos_user.user_provider.username 

firewalls: 
    main: 
     pattern: ^/ 
     form_login: 
      provider: fos_userbundle 
      csrf_provider: form.csrf_provider 
     logout:  true 
     anonymous: true 

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/admin/, role: ROLE_ADMIN } 

这里是我的用户实体类的一个实例。 (User.php)

<?php 
// src/Acme/UserBundle/Entity/User.php 

namespace TommieCrawford\UserBundle\Entity; 

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

/** 
* @ORM\Entity 
* @ORM\Table(name="fos_user") 
*/ 
class User extends BaseUser 
{ 
    /** 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    public function __construct() 
    { 
     parent::__construct(); 
     // your own logic 
    } 
} 

任何知道如何做到这一点的人? 也许有些样品?

非常感谢!

回答