标签: fosuserbundle

更改密码在FOS用户捆绑包+ Sonata用户捆绑包+奏鸣曲管理员捆绑包中不起作用

我可以使用Sonata User Bundle将FOS捆绑包集成到sonata Admin捆绑包.我的登录工作正常.现在我想在FOSUserBundle中添加更改密码等功能到sonata Admin Bundle

我可以使用FOS用户包的配置文件功能

本地主机/ myproject的/ WEB/app_dev.php/profile文件

但改变密码同样如此

localhost/myproject/web/app_dev.php/change-password无法访问.

我想将它与SonataAdminBundle集成为

本地主机/ myproject的/ WEB/app_dev.php /管理/更改密码

你能告诉我我应该在哪里改变或者我哪里出错了?

在我的路由中我有

fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"

fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /change-password
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle sonata-admin

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

Symfony2 FosUserBundle和SonataUserBundle:重写实体?

我在我的Symfony2项目中使用FosUserBundle和SonataUserBundle.

我现在感到困惑.我想为实体用户添加字段,但它不起作用.例如,架构没有更新.

这是我的配置:

AppKernel:
...
new FOS\UserBundle\FOSUserBundle(),
new Sonata\UserBundle\SonataUserBundle(),
new Application\Sonata\UserBundle\ApplicationSonataUserBundle('FOSUserBundle')


config.yml:
...
# FOSUserBundle Configuration
fos_user:
    db_driver:     orm                        # BDD type
    firewall_name: main                       # firewall name
    user_class:    Application\Sonata\UserBundle\Entity\User # entity class defined
Run Code Online (Sandbox Code Playgroud)

在app/Application/Sonata/userBundle/Entity /中添加了字段的User实体

namespace Application\Sonata\UserBundle\Entity;

use Sonata\UserBundle\Entity\BaseUser as BaseUser;

/**
 * This file has been generated by the Sonata EasyExtends bundle ( http://sonata-    project.org/easy-extends )
 *
 * References :
 *   working with object : http://www.doctrine-project.org/projects/orm/2.0        /docs/reference/working-with-objects/en
 *
 * @author <yourname> <youremail>
 */
class User extends BaseUser
{

    /** …
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm fosuserbundle symfony-2.1

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

自定义Facebook FOSFacebookBundle登录按钮

有人知道如何定制/更改FosFacebook登录按钮的图像?

{{ facebook_login_button({'autologoutlink': true}) }}
Run Code Online (Sandbox Code Playgroud)

并重定向整页Facebook登录不弹出窗口.

facebook symfony fosuserbundle fosfacebookbundle

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

使用symfony容器服务时,代码完成无效

我在我的Symfony 2应用程序中使用FOSUserBundle,并想知道如何在PHPStorm中进行代码完成工作,因为当您通过容器注入服务时:

$userManager = $this->container->get('fos_user.user_manager');
Run Code Online (Sandbox Code Playgroud)

并尝试使用$ userManager来查看其界面 - 我什么也看不见,因为对于PHPStorm,这是一个常规变量,而不是通过"new"运算符构建的对象.

有没有办法让它向我展示这个对象的可用方法?

就像我们通常使用真实对象一样: 在此输入图像描述

谢谢!

code-completion autosuggest symfony phpstorm fosuserbundle

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

无法更新实体

在Symfony 2(最新版本)下,我正在尝试更新我的实体:

php app/console doctrine:schema:upate --force
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息到我的终端:

[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
"security.firewalls.access_control"下无法识别的选项"0,1,2,3"

我是Symfony的新手,我不知道在哪里可以搜索来解决这个问题.

这是security.yml文件:

# To get started with security, check out the documentation:
Run Code Online (Sandbox Code Playgroud)

http://symfony.com/doc/current/book/security.html

安全性:编码器:FOS\UserBundle\Model\UserInterface:bcrypt

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
    fos_userbundle:
        id: fos_user.user_provider.username

firewalls:
    # disables authentication for assets and the profiler, adapt it according to your needs
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4

        logout:       true
        anonymous:    true
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false

    #main:
        #anonymous: ~
        # activate different ways …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle symfony-security

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

使用FOS用户包编辑用户配置文件

我正在使用带有FOSUserBundle的symfony 2,问题是当添加用户时,登录的当前用户配置文件将被当前添加的用户替换,然后当我尝试编辑其他用户配置文件时,唯一可编辑的将是当前登录的用户,FOSUserBundle的继承功能有问题吗?我希望在添加用户时,当前登录的用户不会随着添加的内容而改变,而且当我编辑另一个用户配置文件时,我正在编辑的用户帐户将被编辑,而不是当前添加的用户帐号.

以下是来自FOSUserBundle的代码:

注册控制器://添加用户

public function registerAction(Request $request)

    {

        /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */

        $formFactory = $this->get('fos_user.registration.form.factory');

        /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */

        $userManager = $this->get('fos_user.user_manager');

        /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */

        $dispatcher = $this->get('event_dispatcher');



        $user = $userManager->createUser();

        $user->setEnabled(true);



        $event = new GetResponseUserEvent($user, $request);

        $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);



        if (null !== $event->getResponse()) {

            return $event->getResponse();

        }



        $form = $formFactory->createForm();

        $form->setData($user);



        $form->handleRequest($request);



        if ($form->isValid()) {

            $event = new FormEvent($form, $request);

            $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);



            $userManager->updateUser($user);



            if (null === $response = $event->getResponse()) {   
                $session = $this->getRequest()->getSession();
                $session->getFlashBag()->add('message', 'Sucessfully …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle

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

fos user:即使用户只有一个角色,也允许路由到多个角色

在我的symfony项目中,使用FOS包,我有4个这样的角色:

  • ROLE_USER_ONE

  • ROLE_USER_TWO

  • ROLE_USER_THREE

他们无法访问相同的视图,除了一个.这是我的渲染视图的控制器:

/**
 * @Security("has_role('ROLE_USER_ONE', 'ROLE_USER_TWO', 'ROLE_USER_THREE')")
 * @Route("/add-note", name="add_user_note")
 * @Method({"GET"})
 */
public function addNoteToUserAction()
{
  $securityContext = $this->container->get('security.authorization_checker');

  if ($securityContext->isGranted('ROLE_USER_ONE', 'ROLE_USER_TWO', 'ROLE_USER_THREE')) {
    /* ... some persist datas and process here ... */
    return $this->render('MyBundle:NoteUser:addNote.html.twig', array(
    ));
  } else {
      throw new \Exception('You have no right to access this page');
  }
}
Run Code Online (Sandbox Code Playgroud)

为了测试视图渲染,我创建了一个角色为ROLE_USER_TWO的用户.当我渲染视图时,我有这个错误:

表达式"has_role('ROLE_USER_ONE','ROLE_USER_TWO','ROLE_USER_THREE')"拒绝访问.

据我所知,Symfony期望用户拥有所有角色,如何在我的控制器注释和控制器代码中允许对用户进行视图访问?

security authorization roles symfony fosuserbundle

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

在控制器symfony2 FOSUserBundle中获得角色

我怎么知道我的人物的角色.

$personal = $em->getRepository('AuthenticationBundle:User')->FindPersonel($id);    

dump($personal->getRoles());
die();
Run Code Online (Sandbox Code Playgroud)

没有空白页面.

symfony fosuserbundle

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

无法自动服务

我正在尝试从FOSUserBundle(Symfony3.4)实现UserManager.

服务/ Register.php

<?php

namespace AppBundle\Service;

use FOS\UserBundle\Model\UserManager;


class Register
{
    private $userManager;

    public function __construct(UserManager $userManager)
    {
        $this->userManager = $userManager;
    }

    public function register() {
        $user = $this->userManager->findUserByUsernameOrEmail('aaa@gmail.clom');
        if($user){
            return false;
        }
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试调用此方法时,我得到:

无法自动装配服务"AppBundle\Service\Register":方法"__construct()"的参数"$ userManager"引用类"FOS\UserBundle\Model\UserManager"但不存在此类服务.您应该将此类别名为现有的"fos_user.user_manager.default"服务.

我现在应该怎么做?

php symfony fosuserbundle

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

Symfony 3.4,FOSUserBundle:使用postgresql的SQL错误

我有一个普通的User类,当我使用MySQL时,只有id属性才能正常工作.自从我改为Postgresql后,我开始遇到很多问题.

让我首先概述一下我的应用程序,它是一个网络上的GIS,我放了一个TSV文件和我制作的php脚本,它读取TSV文件并将其数据保存在数据库中.然后Geoserver读取数据并将其提供给我的传单地图.所以Postgresql非常重要,因为Geoserver不支持MySQL.

起初我使用命令行工具创建了数据库及其模式.一切都很好,直到这里,但当我尝试使用命令行来创建用户时,它会抛出SQLSTATE [42601]语法错误:

In AbstractPostgreSQLDriver.php line 70:

An exception occurred while executing 'INSERT INTO user (username, username_canonical, emai
  l, email_canonical, enabled, salt, password, last_login, confirmation_token, password_reque
  sted_at, roles, id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params ["admin", "adm
  in", "admin@ferrybox.tk", "admin@ferrybox.tk", 1, null, "$2y$13$rS4j9aDRRpKMA2ge3QoDNuhmCWD
  9cO9Cmnzv\/PxqUmBxSximXcFZu", null, null, null, "a:0:{}", 1]:



 SQLSTATE[42601]: Syntax error: 7 ERREUR:  erreur de syntaxe sur ou près de « user »
  LINE 1: INSERT INTO user (username, …
Run Code Online (Sandbox Code Playgroud)

php postgresql symfony fosuserbundle

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