标签: fosuserbundle

Symfony2:如何使FOSUserBundle用户的用户名唯一

嗨,我有自己的User班级,继承FOS\UserBundle\Entity\User.另外我写了自己的注册例程.现在我遇到的问题是表单不能确保用户名是唯一的.我总是得到SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'myusername' for key 'UNIQ_2DA1797792FC23A8'

我尝试添加@UniqueEntity("email")文档[1]中所述的注释,但没有任何影响.

有人知道可能出错了什么?

[1] http://symfony.com/doc/current/reference/constraints/UniqueEntity.html

symfony fosuserbundle

3
推荐指数
2
解决办法
9127
查看次数

将fos用户捆绑服务转换为yml

我有一个FosUserBundle服务,我需要转换为yml格式.我怎么能这样做是有翻斗车转换器还是其他什么?

这在yml中看起来如何?

    <service id="fos_user.mailer.twig_swift" class="FOS\UserBundle\Mailer\TwigSwiftMailer" public="false">
        <argument type="service" id="mailer" />
        <argument type="service" id="router" />
        <argument type="service" id="twig" />
        <argument type="collection">
            <argument key="template" type="collection">
                <argument key="confirmation">%fos_user.registration.confirmation.template%</argument>
                <argument key="resetting">%fos_user.resetting.email.template%</argument>
            </argument>
            <argument key="from_email" type="collection">
                <argument key="confirmation">%fos_user.registration.confirmation.from_email%</argument>
                <argument key="resetting">%fos_user.resetting.email.from_email%</argument>
            </argument>
        </argument>
    </service>
Run Code Online (Sandbox Code Playgroud)

我试图使用Yml转储器,但这只是给我序列化的对象:

    $cs = new ContainerBuilder();

    $loader1 = new Loader\XmlFileLoader($cs, new FileLocator(__DIR__ . '/../../../../vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/config'));
    $loader1->load('mailer.xml');

    $dumper = new \Symfony\Component\Yaml\Dumper();

    file_put_contents(__DIR__ . '/test2.yml', $dumper->dump($cs));
Run Code Online (Sandbox Code Playgroud)

任何提示将非常感激.提前致谢.

symfony fosuserbundle symfony-2.1

3
推荐指数
1
解决办法
3223
查看次数

在没有SonataUserBundle的情况下集成SonataAdminBundle + FOSUserBundle以确保symfony 2.3的安全性?

我正在使用FOSUserBundle进行身份验证和角色.对于管理员面板,我使用的是SonataAdminBundle.

FOSUserBundle Version 2.0.dev(支持事件监听器).

当我尝试安装SonataUserBundle时,它只接受<= 1.3版本的FOSUserBundle(没有事件监听器)

我需要FOSUserBundle和事件监听器.

有谁知道如何使用FOSUserBundle提供安全性(对于管理员和客户端面板)?

security symfony fosuserbundle

3
推荐指数
1
解决办法
3145
查看次数

Symfony OAuth api FOSOAuthServerBundle: crash

Am trying to use the FOSOAuthServerBundle but am having a crash problem, the crash message is :

PHP Fatal error:  Declaration of MP\OAuthBundle\Entity\AccessToken::setUser() must be compatible with that of FOS\OAuthServerBundle\Model\TokenInterface::setUser() in /home/bitnami..../OAuthBundle/Entity/AccessToken.php on line 13
Run Code Online (Sandbox Code Playgroud)

AccessToken.class:

<?php

namespace MP\OAuthBundle\Entity;

use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken;
use Doctrine\ORM\Mapping as ORM;

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

    /**
     * @ORM\ManyToOne(targetEntity="Client")
     * @ORM\JoinColumn(nullable=false)
     */
    protected $client;

    /**
     * @ORM\ManyToOne(targetEntity="\MP\UserBundle\Entity\User")
     */ …
Run Code Online (Sandbox Code Playgroud)

php oauth symfony oauth-2.0 fosuserbundle

3
推荐指数
1
解决办法
1100
查看次数

使用FOSUserBundle和FR3DLdapBundle丢失数据库列

  • 我按照FOSUserBundle文档(文档)和FR3DLdapBundle(文档)中的说明进行操作
    • FOSUserBundle需要扩展BaseUser类,而FR3DLdapBundle需要User Class来实现LdapUserInterface接口
    • 在我的情况下,这导致这样的类:

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

/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser implements LdapUserInterface
{

/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

private $dn;

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

/**
 * {@inheritDoc}
 */
public function getDn() {
    return $this->dn;
}

/**
 * {@inheritDoc}
 */
public function setDn($dn) {
    $this->dn …
Run Code Online (Sandbox Code Playgroud)

orm symfony doctrine-orm fosuserbundle fr3dldapbundle

3
推荐指数
1
解决办法
3233
查看次数

Symfony/FOS - 将用户id变量传递给表单Type

我尝试从CategoryType表单设置字段"author"的值.我希望它是来自使用FOS包登录的当前用户的用户ID.

我的CategoryType表单:

namespace My\CategoryBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class CategoryType extends AbstractType
{
    private $userId;

    public function __construct(array $userId)
    {
        $this->userId = $userId;
    }

     /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('title')
            ->add('author')
            ->add('content')
        ;
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'My\CategoryBundle\Entity\Category',
            'auteur' => $this->userId
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'my_categorybundle_category'; …
Run Code Online (Sandbox Code Playgroud)

formbuilder symfony fosuserbundle

3
推荐指数
1
解决办法
5371
查看次数

显示/隐藏一些菜单取决于Sonata管理员角色

我正在使用Symfony2进行Web项目,我使用Sonata Admin作为管理面板,每件事情都运行正常但我想要做的是,在奏鸣曲管理员的仪表板菜单上,我需要显示隐藏一些菜单依赖于管理员角色,任何人之前做过这个或知道如何做到这一点?我试图使用角色的配置,但当我与ROELE不同的ROLE_SONATA_ADMIN连接时,顶级菜单不显示,

- { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN,ROLE_ADMIN_NEWS] }
Run Code Online (Sandbox Code Playgroud)

谢谢

symfony fosuserbundle symfony-sonata sonata-admin symfony-2.3

3
推荐指数
1
解决办法
3946
查看次数

扩展FOSUserBundle密码验证以要求特殊字符

我正在使用FOSUserBundle.我已经使用其他类变量实现了自己的用户实体.注册,登录和丢失的密码正在按预期工作.:-)

我需要为密码验证添加其他要求.我在Symfony文档中找到了一篇Symfony文章.本文介绍如何创建验证方法并使用Callback约束在validation.xml文件中引用它.我已经实现了回调并更改了validation.xml,所有内容都适用于注册.

我还没想到的是如何通过丢失的密码链接或更改密码页面来更改密码.

建议和文档指针将非常受欢迎.

提前致谢.

symfony fosuserbundle

3
推荐指数
1
解决办法
3649
查看次数

在FOS用户创建时,列'salt'不能为空

它工作了一段时间,但现在由于某种原因它产生了异常.我有自定义用户实体,它扩展了FOS用户:

namespace AppBundle\Entity;

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

/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
...
}
Run Code Online (Sandbox Code Playgroud)

我的自定义类中没有setSalt().正如我在转储SQL查询中看到的那样,其他非自定义字段(email_canonical,enabled,password,...)设置正确.我还能检查什么?

UPDATE

我做了作曲家更新.这是我的composer.json

"require": {
    "php": ">=5.5.9",
    "symfony/symfony": "3.2.*",
    "doctrine/orm": "^2.5",
    "doctrine/doctrine-bundle": "^1.6",
    "doctrine/doctrine-cache-bundle": "^1.2",
    "symfony/swiftmailer-bundle": "^2.3",
    "symfony/monolog-bundle": "^2.8",
    "symfony/polyfill-apcu": "^1.0",
    "sensio/distribution-bundle": "^5.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "incenteev/composer-parameter-handler": "^2.0",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "hwi/oauth-bundle": "^0.5.1",
    "twig/extensions": "^1.4"
},
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm fosuserbundle

3
推荐指数
1
解决办法
1820
查看次数

在symfony 3.4上安装FOSUserBundle时出错

在官方文档中说,这是第一步

$ composer require friendsofsymfony/user-bundle "~2.0"

这给了我这个错误

./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install friendsofsymfony/user-bundle v2.1.2
    - Conclusion: don't install friendsofsymfony/user-bundle v2.1.1
    - Conclusion: don't install friendsofsymfony/user-bundle v2.1.0
    - Conclusion: don't install friendsofsymfony/user-bundle v2.0.2
    - Conclusion: don't install friendsofsymfony/user-bundle v2.0.1
    - Conclusion: remove paragonie/random_compat v9.99.99
    - Installation request for friendsofsymfony/user-bundle ~2.0 -> satisfiable by friendsofsymfony/user-bundle[v2.0.0, …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle composer-php symfony-3.4

3
推荐指数
1
解决办法
950
查看次数