я использую fosuserbundle для входа в систему пользователей, и это работает нормально.
Но для нового проекта я хочу 3 поля входа, как это:
Field Companyname
Field Username
Field Password
У меня вопрос, как добавить дополнительное поле для аутентификации пользователей?
Пример моего security.yml
безопасность:
кодеры:
FOS \ UserBundle \ Model \ 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. (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
}
}
Кто-нибудь знает, как это сделать ?!
Может быть, некоторые образцы?
Большое спасибо!
У них этот процесс задокументирован. Иди сюда
https://github.com/FriendsOfSymfony/FOSUserBundle/tree/master/Resources/doc
И прочитайте overriding_*.md
документы. Если вы застряли, возвращайтесь сюда.
Других решений пока нет …