FOSUserBundle Symfony2。额外登录字段

时间:2014-10-01 19:23:24

标签: php symfony authentication fosuserbundle

我使用fosuserbundle登录用户,这很正常。

但是对于一个新项目,我想要一个像这样的3字段登录:

Field Companyname

Field Username

Field Password

我的问题是如何添加额外的字段来验证用户?

我的security.yml

示例

安全性:     编码器:         FOS \ UserBundle \ Model \ UserInterface:sh​​a512

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实体类的示例。 (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
    }
}

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

非常感谢!

1 个答案:

答案 0 :(得分:1)

他们记录了这个过程。去这里

https://github.com/FriendsOfSymfony/FOSUserBundle/tree/master/Resources/doc

阅读overriding_*.md文件。如果你遇到困难,请回到这里。