小编Gia*_*dro的帖子

使用FosUserBundle创建管理员用户

我尝试使用以下命令从命令窗口创建具有FOsUserBundle的管理员用户:

php app/console fos:user:create
Run Code Online (Sandbox Code Playgroud)

在我的项目中,管理员用户以强制性的方式扩展其他用户.所以,当我选择用户名,邮件和密码时,它会告诉我:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'latitude' cannot be null
Run Code Online (Sandbox Code Playgroud)

如何在AdminUser中设置值"latitude"?我也使用PUGXMultiUserBundle.

cmd admin symfony fosuserbundle

13
推荐指数
1
解决办法
1万
查看次数

"security.firewalls.form_login"下无法识别的选项"csrf_provider"

我正在尝试按照此处的教程安装FOSUserBundle

当我在第7步时,我尝试更新ORM运行的数据库模式

php app/console doctrine:schema:update --force

但出现错误

InvalidConfigurationException: Unrecognized options "csrf_provider" under "security.firewalls.form_login"
Run Code Online (Sandbox Code Playgroud)

这是我的防火墙:

firewalls:
        main:
        pattern: 
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
        logout:       true
        anonymous:    true
Run Code Online (Sandbox Code Playgroud)

我能做什么?我没有设置模式因为,如果我设置类似的东西

        pattern: ^/
Run Code Online (Sandbox Code Playgroud)

出现以下错误:

InvalidTypeException:路径"security.firewalls.pattern"的类型无效.预期的数组,但得到了字符串

更新:

csrf_protection已启用,但由于某些原因,我不明白,不起作用.我试图"重置"它,禁用和启用,现在它可以正常工作.在我的项目中,我启用它

csrf_protection: ~
Run Code Online (Sandbox Code Playgroud)

csrf symfony fosuserbundle

8
推荐指数
1
解决办法
6798
查看次数

使用FosUserBundle分配角色

我是Symfony的新手,我正在尝试使用FosUserBundle向用户注册一个ROLE,但我无法管理如何做到这一点.实际上我还集成了PUGXMultiUserBundle,以便为两个不同的角色提供两种不同的形式.谁能帮我?

提前致谢

--UPDATE--

我报告我的代码是为了清楚地解释.我用PUGXMultiUserBundle的指南创建了这个文件

这是我的实体:

//C:\BitNami\wampstack-5.4.23-0\frameworks\symfony\src\Acme\ManagementBundle\Entity\UserGroundStation.php
<?php

namespace Acme\ManagementBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use PUGX\MultiUserBundle\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity
 * @ORM\Table(name="user_GroundStation")
 * @UniqueEntity(fields = "username", targetClass = "Acme\ManagementBundle\Entity\User", message="fos_user.username.already_used")
 * @UniqueEntity(fields = "email", targetClass = "Acme\ManagementBundle\Entity\User", message="fos_user.email.already_used")
 */
class UserGroundStation extends User
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
}
Run Code Online (Sandbox Code Playgroud)

这是控制器

C:\BitNami\wampstack-5.4.23-0\frameworks\symfony\src\Acme\ManagementBundle\ControllerRegistrationController.php
<?php

namespace Acme\ManagementBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class RegistrationController extends Controller
{
    public function registerUserGroundStationAction()
    {
        return $this->container
                    ->get('pugx_multi_user.registration_manager')
                    ->register('Acme\ManagementBundle\Entity\UserGroundStation');
    }
}
Run Code Online (Sandbox Code Playgroud)

抱歉这个愚蠢的问题,但这是我的第一个项目,我觉得有点不对劲.

--update - …

symfony fosuserbundle pugxmultiuserbundle

7
推荐指数
2
解决办法
1万
查看次数

类 Doctrine\ORM\PersistentCollection 的对象无法转换为字符串

我使用 Symfony2 制作了一个 Web 应用程序,其中用户具有数组关联 ManytoMany 与实体 Mission。用户可以通过表单上传实体$product,表单传递的数据之一就是与用户关联的任务。

当我尝试上传数据时,出现错误:

ContextErrorException: Catchable Fatal Error: Object of class   
Doctrine\ORM\PersistentCollection could not be converted to string in     
C:\BitNami\wampstack-5.4.23- 
0\frameworks\symfony\vendor\doctrine\dbal\lib\Doctrine\DBAL\Statement.php line 103
Run Code Online (Sandbox Code Playgroud)

很明显,Doctrine 不知道如何保存任务的价值。

我该如何管理?

我也不知道如何在我的产品实体中声明任务对象。现在就是这样:

/**
 * @var string
 *
 * @ORM\Column(name="mission", type="string", length=255)
 */
protected $mission;
Run Code Online (Sandbox Code Playgroud)

更新 - -

我的控制器现在是:

       $form = $this->createFormBuilder($product)
           ->add('name', 'text')
           ->add('mission', 'entity', array('required' => true, 'multiple' => false, 'class' => 'AcmeManagementBundle:Mission', 'query_builder' => function($repository) { return $repository->createQueryBuilder('c')->orderBy('c.id', 'ASC'); },))              
      //...
           ->add('save', 'submit')
           ->getForm(); 
Run Code Online (Sandbox Code Playgroud)

更新 - -

现在工作,但我有一个问题。当出现上传 …

php doctrine arraycollection symfony

4
推荐指数
1
解决办法
2万
查看次数

如何让用户从有限列表中选择输入?

我是python和编程的新手,所以如果这是一个"noob问题",我很抱歉.无论如何,是否可以在python中选择多项选择,而不使用if循环?

愚蠢的例子:

print "Do you want to enter the door"
raw_input ("Yes or not")
Run Code Online (Sandbox Code Playgroud)

并且用户只能在选择之间进行选择.

python multiple-choice

4
推荐指数
4
解决办法
2万
查看次数

in_array()期望参数2为数组,给定为null

我用Symfony2创建了一个Web应用程序,我正在使用PUGX User Bundle和FosUserBundle来管理2个不同的用户.

这是两个用户之一:

  /**
   * @ORM\Entity
   * @ORM\Table(name="user_Operator")
   * @ORM\HasLifecycleCallbacks()
   * @UniqueEntity(fields = "username", targetClass = "Acme\ManagementBundle\Entity\User", message="Username already_used")
   * @UniqueEntity(fields = "email", targetClass = "Acme\ManagementBundle\Entity\User", message="Email already_used")
   */
  class UserOperator extends User
  {
      /**
       * @ORM\Id
       * @ORM\Column(type="integer")
       * @ORM\GeneratedValue(strategy="AUTO")
       */
      protected $id;

          /**
       * @ORM\PrePersist
       */
      public function setCreatedAtValue()
      {
          $this->addRole('ROLE_OPERATOR');
      }    
  }
Run Code Online (Sandbox Code Playgroud)

当我尝试注册时,我填写表单,提交,而不是出现:

Warning: in_array() expects parameter 2 to be array, null given in C:\BitNami\wampstack-
5.4.23-0\frameworks\symfony\vendor\friendsofsymfony\user-    
bundle\FOS\UserBundle\Model\User.php line 142
Run Code Online (Sandbox Code Playgroud)

第142行如下:

   135    public function addRole($role)
          {
              $role …
Run Code Online (Sandbox Code Playgroud)

php arrays symfony fosuserbundle pugxmultiuserbundle

1
推荐指数
2
解决办法
4万
查看次数