标签: fosuserbundle

Symfony2 FOSUserBundle安全性

我有奇怪的问题.我无法关闭页面访问权限

/registration
/login
/resetting
Run Code Online (Sandbox Code Playgroud)

已经授权的用户.

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/profile, role: ROLE_USER }
    - { path: ^/admin/, role: ROLE_ADMIN }
Run Code Online (Sandbox Code Playgroud)

为什么具有规则ROLE_USER的用户可以访问页面/登录?我应该如何关闭它?使用模板或security.xml?

如果要访问/登录,如何使用规则ROLE_USER重定向用户?

php access-control symfony fosuserbundle

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

:: base.html.twig中不存在变量"csrf_token"

Symfony2和FOS用户包问题......

我已经在页面的头部实现了我自己的登录表单(根据http://forum.symfony-project.org/viewtopic.php?f=31&t=37767中的说明使用FOS用户包.)

现在,我有错误消息

Variable "csrf_token" does not exist in ::base.html.twig
Run Code Online (Sandbox Code Playgroud)

该论坛上的其他人(上面的网址)有完全相同的问题,并通过放入隐藏的csrf字段来解决它

<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
Run Code Online (Sandbox Code Playgroud)

我的问题是:在/登录路径上工作正常,但我的要点是不需要单独的登录页面,我希望我的表单始终集成在页面头中,似乎只有{{csrf_token}}页面由登录控制器呈现时可用...

另外,我如何在那里得到错误消息(闪烁),我假设我必须以某种方式在我的defaultController中包含登录控制器,每次都用它来获取所有这些变量,或者......?或者我应该在标题的该部分中呈现userBundle控制器而不是将一些userBundle模板粘贴到我的脑海中?

php symfony fosuserbundle

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

验证fosuserbundle注册表

我正在使用FOSUserBundle.在我的项目中,我创建了自己的UserBundle并覆盖了控制器,表单和处理程序.现在,当用户尝试注册现有电子邮件时,该网站崩溃(电子邮件对于学说是唯一的).似乎没有进行验证.我以为我会在validation.yml中进行一些验证:

YOP\UserBundle\Entity\User:
  constraints:
    - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: email
  properties:
    email:
      - Email: ~
Run Code Online (Sandbox Code Playgroud)

为什么不在电子邮件领域进行验证?如何确保考虑我的验证限制?

PS:validation.yml文件不在我的UserBundle中,是不是有问题?

编辑:

我的UserBundle的代码在这里可用 我不明白为什么不再进行验证...

validation symfony fosuserbundle

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

带有FOSUserBundle的Symfony2数据夹具

我想为我的项目创建一个som fixtures进行测试.我现在在命令行脚本中执行此操作,但是我发现了Doctrine中的DataFixtures包并想要测试它.我有以下代码:

<?php
// src/Pan100/MoodLogBundle/DataFixtures/ORM/LoadUserData.php

namespace Acme\HelloBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAware;

use Pan100\MoodLogBundle\Entity\Day;
use Pan100\MoodLogBundle\Entity\Medication;
use Pan100\MoodLogBundle\Entity\Trigger;

use FOS\UserBundle\Doctrine\UserManager;

class MockDataMaker extends ContainerAware
{
    /**
     * {@inheritDoc}
     */
    public function load(ObjectManager $manager)
    {
        $userManager = $container->get('fos_user.user_manager');
        //make some users
        $user = $userManager->createUser();
        $user->setUsername('John');
        $user->setEmail('john.doe@example.com');
        $user->setPlainPassword('passord');
        $userManager->updateUser($user);
    }

}
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

  [InvalidArgumentException]                                                   
  Could not find any fixtures to load in:                                      

  - /var/www/path/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/D  
  ataFixtures/ORM                                                              
  - /var/www/path/vendor/symfony/symfony/src/Symfony/Bundle/SecurityBundle/Da  
  taFixtures/ORM                                                               
  - /var/www/path/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/DataFi  
  xtures/ORM                                                                   
  - /var/www/path/vendor/symfony/monolog-bundle/Symfony/Bundle/MonologBundle/  
  DataFixtures/ORM                                                             
  - /var/www/path/vendor/symfony/swiftmailer-bundle/Symfony/Bundle/Swiftmaile  
  rBundle/DataFixtures/ORM                                                     
  - /var/www/path/vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/  
  DataFixtures/ORM                                                             
  - /var/www/path/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBun …
Run Code Online (Sandbox Code Playgroud)

doctrine symfony fosuserbundle

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

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万
查看次数

在hwioauthbundle中重定向到请求页面

假设我有一个页面http://example.com/page1

我在这里登录了facebook链接.

另外在另一页,第2页,我已经在Facebook上放置了登录链接.

我想要的是,在第1页上用facebook链接点击登录后,它应该重定向到page1,并且在第2页上点击登录链接时,它应该重定向到Page2.

现在,它总是重定向到'example.com/'.

我正在使用Hwioauthbundle与Symfony2中的fosuserbundle集成

php redirect symfony fosuserbundle hwioauthbundle

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

Facebook登录后,HWIOAuthBundle获得生日,性别

根据文档,我能够为FOSUserBundle实体用户配置和存储Facebook ID

我也想存储生日和性别.

应用程序/配置/ config.yml

hwi_oauth:
    firewall_name:         secured_area
    resource_owners:
        facebook:
            type:          facebook
            client_id:     <client_id>
            client_secret: <client_secret>
            scope:         "email,user_birthday"
Run Code Online (Sandbox Code Playgroud)

在文档中有一些描述在这里,但我无法让它工作.因为我是初学者,这篇文档对我没有帮助.

我在哪里可以获得包含所有本地数据的facebook响应.

我还需要将这些数据与其他FOSUserBundle字段一起存储.

facebook symfony fosuserbundle hwioauthbundle

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

FOSUserbundle - 如何添加新角色?

我正在使用FOS Userbundle,我想添加新角色,如ROLE_ZZZ.

做这个的最好方式是什么?谢谢.

php symfony fosuserbundle

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

带有FosUserBundle的Symfony 2.5:登录后将数据添加到全局会话

我们的项目使用FOSUserBundle和Symfony 2.5.我们需要在登录后向用户会话添加自定义数据,该数据驻留在数据库中并且是动态的,但应该在所有模板和应用程序内的任何位置访问.

我正在考虑LoginManager.php/ user-bundle/Security覆盖该类,但我也不完全确定这是否是最好的选择.

看起来这个logInUser()方法是添加我们的自定义更改的地方,因为它实际上设置了令牌,但是再次,如果有更聪明的方法,我肯定会使用它.

php session symfony fosuserbundle symfony-2.5

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

Symfony / FOSuserBundle:盐是否为空?

我正在使用 :

  • Symfony的3.4
  • FOSUserBundle 2

FOSuserbundle安装得很好,并且就像一个护身符。我注意到在数据库中的用户表中,“盐”列始终为空:

在此处输入图片说明

以下是我的security.yml文件的摘录:

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt
Run Code Online (Sandbox Code Playgroud)

为了记录,我添加了2个用户,并添加了命令“ fos:user:create”。

这正常吗?

symfony fosuserbundle symfony-3.4

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