标签: fosuserbundle

FOSUserBundle - 创建新用户指定角色.

想知道如何实现新用户的创建,但指定他的角色.目前,当我创建一个新用户时,该程序自动与ROLE_ADMIN角色相关联.

任何信息/代码/示例都非常受欢迎.

提前致谢.

php symfony fosuserbundle

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

在Symfony中链接

我正在尝试为FOSUser Bundle创建一个链接..看起来很简单,但由于某种原因我遇到了问题..

我想在我的树枝内创建一个"登录"链接.

<a class="Link" href="{{ url('/login') }}">Login</a>
Run Code Online (Sandbox Code Playgroud)

应该指向 http://localhost:9911/Symfony/web/app_dev.php/login我的控制器中定义的.

我做错了吗?

symfony fosuserbundle

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

Symfony 2 FOSUserBundle具有与其他bundle不同的db连接

我想建立一个用户可以登录注册的网站.对于用户管理,我使用FOSUserbundle.现在我想为FOSUserBundle使用与其他bundle不同的数据库连接.我的config.yml文件如下所示:

doctrine:
    dbal:
        default_connection:   default
        connections:
            default:
                driver:   "%database1_driver%"
                host:     "%database1_host%"
                port:     "%database1_port%"
                dbname:   "§database1_name%"
                user:     "%database1_user%"
                password: "%database1_password%"
                charset:  UTF8

            user:
                driver:   "%database2_driver%"
                host:     "%database2_host%"
                port:     "%database2_port%"
                dbname:   "%database2_name%"
                user:     "%database2_user%"
                password: "%database2_password%"
                charset:  UTF8

orm:
    default_entity_manager:   default
    entity_managers:
        default:
            connection:       default
            mappings:
                MyProjectMainBundle: ~
        user:
            connection:       user
            mappings:
                MyProjectUserBundle: ~
Run Code Online (Sandbox Code Playgroud)

当我尝试加载页面时,我收到错误MappingException: The class 'MyProject\UserBundle\Entity\User' was not found in the chain configured namespaces MyProject\MainBundle\Entity, FOS\UserBundle\Model.

我完全按照FOSUserBundle的文档进行操作,如果我使用的话它正在工作

auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
Run Code Online (Sandbox Code Playgroud)

在config.yml中.唯一的问题是,它只生成文档中新实体中定义的表.只生成一个id字段,而不是像它应该生成的整个fos_user表.

我知道以前曾经问过一些类似的问题,但我尝试使用那里的所有解决方案,但它没有用.那么我该如何解决这个问题呢?它甚至可能吗?我真的需要使用单独的数据库,因为我的项目将使用很多表,我不希望它太乱.

database connection symfony fosuserbundle

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

没有名称为'google'的资源所有者(HWIOAuthBundle和FOSUserBundle集成)

我安装了HWIOAuthBundle并完成了所有内容,如下所示:https://gist.github.com/danvbe/4476697

但是当我试图去这里时我有这个错误:"/ login/google"

没有名称为"google"的资源所有者.

我和其他API有着同样的错误:yahoo,linkedin,windows_live

我不知道为什么因为我已经完成了很好的security.yml:

jms_security_extra:
secure_all_services: false
expressions: true

security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext
        FOS\UserBundle\Model\UserInterface: sha512

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

providers:
        fos_userbundle:
            id: fos_user.user_provider.username_email

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

    main:
        pattern: ^/                         
        form_login:                            
            provider: fos_userbundle        
            remember_me: true                  
            csrf_provider: form.csrf_provider
            login_path: /login
            check_path: /login_check
        remember_me:
            key: %secret%                      
        anonymous: true
        logout: true                                         
        oauth:
            resource_owners:
                yahoo:              "/login/check-yahoo"
                google:             "/login/check-google"
                windows_live:       "/login/check-windows_live"
                linkedin:           "/login/check-linkedin"
            login_path:        /login
            failure_path:      /login
            oauth_user_provider:
                service: my_user_provider
        logout:
            path: /logout
            target: /
    login: …
Run Code Online (Sandbox Code Playgroud)

php oauth symfony fosuserbundle hwioauthbundle

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

SonataUserBundle + FOSUserBundle - 覆盖控制器

我正在使用带有FOSUserBundle的SonataUserBundle.在AppKernel.php中它看起来像这样:

 new FOS\UserBundle\FOSUserBundle(),
 new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
 new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
Run Code Online (Sandbox Code Playgroud)

SonataUserBundle的一些控制器已被覆盖.

现在我想要覆盖FOSUserBundle ChangePasswordController.所以我做了:src/Application/FOS/UserBundle/Controller/ChangePasswordController.php src/Application/FOS/UserBundle/ApplicationFOSUserBundle.php

<?php
namespace Application\FOS\UserBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class ApplicationFOSUserBundle extends Bundle
{
    /**
    * {@inheritdoc}
    */
    public function getParent()
    {
        return 'FOSUserBundle';
    }
}
Run Code Online (Sandbox Code Playgroud)

以及修改过的AppKernel.php

 new FOS\UserBundle\FOSUserBundle(),
 new Application\FOS\UserBundle\FOSUserBundle(),
 new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
 new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
Run Code Online (Sandbox Code Playgroud)

问题是......它无法正常工作.

致命错误:带有消息'Bundle"FOSUserBundle"的未捕获异常'LogicException'由两个捆绑包"SonataUserBundle"和"ApplicationFOSUserBundle"直接扩展.在第2364行的/home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache中(!)LogicException:Bundle"FOSUserBundle"由两个包"SonataUserBundle"和"ApplicationFOSUserBundle"直接扩展.在2364行的/home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache中

php overriding symfony fosuserbundle sonata-user-bundle

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

登录后无法访问FOSUserBundle管理区域

我正在使用FOSUserBundle作为管理部分以及前端,遵循以下指令:

https://github.com/FriendsOfSymfony/FOSUserBundle/issues/849
Run Code Online (Sandbox Code Playgroud)

对于前端一切正常,但对于管理部分,当我访问我的管理区域/admin 然后我被重定向到登录页面/admin/login(这是正确的).一旦我提供管理员用户名和密码,然后根据登录后的默认目标路径

default_target_path: /admin/
Run Code Online (Sandbox Code Playgroud)

在security.yml中定义它重定向到/admin(也是正确的)但我得到403禁止错误

**Access Denied**
403 Forbidden - AccessDeniedHttpException
1 linked Exception:
    AccessDeniedException     
Run Code Online (Sandbox Code Playgroud)

在我的security.yml中,当我删除以下行:

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

然后我可以在登录后访问/管理区域.

我还观察到,每当我/register在前端创建一个新用户时,它都会进入fos_user数据库表a:0:{}角色字段.现在我想知道:

我需要在脚本级别进行哪些更改才能创建不同类型的用户,例如admin,普通用户等,以便我删除的上述security.yml代码可以在不删除的情况下工作

login admin symfony fosuserbundle

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

Symfony 2.5/FOSUserBundle在EventListener中获取用户ID

我试图在Symfony 2.4中的事件监听器中获取用户ID,但据我所知,EventListener未被控制器调用,因此我无法使用

$这 - >的getUser();

获得身份证的最佳方式是什么?

我想过在调用事件的services.yml中给它.

感谢anyhelp或任何有用的文档.

问候,

symfony fosuserbundle

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

Sonata用户捆绑包配置错误

我尝试安装Sonata User Bundle,但是执行命令时配置出现问题

app/console sonata:easy-extends:generate SonataUserBundle -d src
Run Code Online (Sandbox Code Playgroud)

git bash显示此错误:

 [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
  The service "sonata.user.orm.group_manager" has a dependency on a non-exist
  ent parameter "fos_user.model.group.class". Did you mean this: "fos_user.mo
  del.user.class"?
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm fosuserbundle sonata-admin sonata-user-bundle

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

Symonfy 3 - 使用REST API重置密码的FOSUserBundle

我正在开发一个RESTAPI Symfony 3.现在我想向用户发送一个重置密码的链接.这应该通过向以下内容发送请求来完成:

    "/resetpassword/{userEmail}"
Run Code Online (Sandbox Code Playgroud)

如何为用户创建重置密码的链接?我现在已经完成了如何通过我自己发送电子邮件,但不知道如何生成此链接或如何处理链接.

php rest symfony fosuserbundle fosrestbundle

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

无法从 Symfony 3.4 中的接口 CompilerPassInterface 扩展

我想通过使用Symfony 3.4中的compilerPass来覆盖FosUserbundle的控制器(RegistartionController),所以这是我的代码

=== 注册用户编译器密码 ===

<?php

namespace myBundle;

use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;


class RegisterUserCompilerPass extends CompilerPassInterface
{
    public function process(ContainerBuilder $container)
    {
        $container
            ->getDefinition('fos_user.registration.controller')
            ->setClass(MyBundle\Controller\ReplaceRegistrationController::class) ; 
    }
}
Run Code Online (Sandbox Code Playgroud)

这是添加时的文件,将其添加到主包类中

<?php

namespace MyBundle;


use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\Bundle;

use MyBundle\DependencyInjection\Compiler\RegisterUserCompilerPass  ; 


// use Crypto\UserBundle\Manager\ReplaceRegistration ; 

class CryptoUserBundle extends Bundle
{
    public function build(ContainerBuilder $container)
    {
     parent::build($container);
       $container->addCompilerPass(new RegisterUserCompilerPass() );
    }

}
Run Code Online (Sandbox Code Playgroud)

当访问我的注册路径时我得到

编译错误:类 MyBundle\DependencyInjection\Compiler\RegisterUserCompilerPass 无法从接口 Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface 扩展

php overriding symfony fosuserbundle

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