我使用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
}
}
任何知道如何做到这一点的人?! 也许是一些样品?
非常感谢!
答案 0 :(得分:1)
他们记录了这个过程。去这里
https://github.com/FriendsOfSymfony/FOSUserBundle/tree/master/Resources/doc
阅读overriding_*.md
文件。如果你遇到困难,请回到这里。