标签: fosuserbundle

自定义更改密码表单

我只是想修改更改密码页面的外观.我唯一想不通的是被称为CurrentPassword字段的内容.

{{ form_widget(form.plainPassword.first, {'attr': {'class': 'txtRegisterEmail','placeholder': 'Password'} }) }}
{{ form_widget(form.plainPassword.second,{'attr': {'class': 'txtRegisterEmail','placeholder': 'Verify password'} }) }}
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle

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

FOSUserBundle - 如何在尝试访问login_path时重定向已登录的用户

是否可以/login仅为用户执行自动重定向到特定路由的某个路由(即/)AUTHENTICATED?如何?

我正在使用FOSUserBundle.

这是我的安全配置:

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

providers:
    fos_userbundle:
        id: fos_user.user_provider.username_email

firewalls:
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
            login_path: /accedi
            check_path: /login_check
            default_target_path: /
        oauth:
            resource_owners:
                facebook:           "/login/check-facebook"
                google:             "/login/check-google"
            login_path:        /accedi
            failure_path:      /accedi
            default_target_path: /

            oauth_user_provider:
                service: my_user_provider
        logout:
            path: /logout
            target: /
            invalidate_session: false
        anonymous:  ~
    login:
        pattern:  ^/login$
        security: false

        remember_me:
            key: "%secret%"
            lifetime: 31536000 # 365 days in seconds
            path: /
            domain: ~ 

    oauth_authorize:
        pattern: …
Run Code Online (Sandbox Code Playgroud)

php security firewall symfony fosuserbundle

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

Symfony2 FOSUserBundle文件上传(配置文件Pic)提示?

我即将开始尝试在我正在使用的symfony2项目中向我的用户实体添加个人资料图片字段FOSUserBundle.我觉得这应该很简单,但是,我没有找到任何有用的文档来解释如何做到这一点.

目前,我正计划在我的表单对象(我从通用ProfileEdit表单中扩展)添加一个未映射的字段,该字段采用上传的文件.然后,我将创建一个FOSUserEvents::PROFILE_EDIT_SUCCESS或之前的事件监听器FOSUserEvents::PROFILE_EDIT_COMPLETED,它将采用表单,处理文件上载并将上载文件的路径(使用获取公共URL和绝对路径的方法)保存到我的User对象,然后再添加向Response flashbag发送消息说它成功或不成功.这真的是正确/最佳实践方式吗?或者我错过了什么?这个功能真的还没有包含在FOSUserBundle中吗?如果是这样的话,我没有找到它的文档,但是如果它是......那就会喜欢它

任何帮助/提示/伏都教建议将非常感谢!

php symfony-forms symfony fosuserbundle

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

如何检查用户名/密码组合是否对FOS UserBundle有效

我们目前正在使用Symfony 2和FOS/UserBundle进行用户身份验证.

我想在没有登录的情况下检查给定的用户名/密码组合是否有效.这是因为另一个人当前已登录,但是例如需要执行特定操作,需要由具有更高许可的人员来完成.

基本上我希望其他用户除了当前记录的人之外还执行不同的控制器操作.

如果有更好的方法,请告诉我

symfony fosuserbundle

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

FOSUserBundle AJAX使用Symfony2登录(路由)

我正在尝试使用FOSUserBundle进行AJAX身份验证.

我创建了一个Handler目录,其中包含AuthenticationHandler class:

<?php

namespace BirdOffice\UserBundle\Handler;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface;
use Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface;

class AuthenticationHandler implements AuthenticationSuccessHandlerInterface, AuthenticationFailureHandlerInterface
{
    private $router;
    private $session;

    /**
     * Constructor
     *
     * @param   RouterInterface $router
     * @param   Session $session
     */
    public function __construct( RouterInterface $router, Session $session )
    {
        $this->router  = $router;
        $this->session = $session;
    }

    /**
     * onAuthenticationSuccess
     *
     * @param   Request $request
     * @param   TokenInterface $token
     * …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax symfony fosuserbundle

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

SonataAdminBundle无法更新用户密码

我无法通过sonataadmin仪表板更新用户密码.

我使用symfony2 FosUserBundle2.0 SonataAdminBundle(但使用SonataUserBundle)并按照文档进行操作.

MyUserBundle\Admin\UserAdmin.php class UserAdmin像这样扩展Admin

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ......
        ->add('plainPassword', 'repeated', array(
            'type' => 'password',
            'options' => array('translation_domain' => 'FOSUserBundle'),
            'first_options' => array('label' => 'form.password'),
            'second_options' => array('label' => 'form.password_confirmation'),
            'invalid_message' => 'fos_user.password.mismatch',
                'required'    => false,
            )
        )
        ..
}
Run Code Online (Sandbox Code Playgroud)

使用sonataadminbundle仪表板创建新用户时没有问题,但是当我使用仪表板更新密码时,DB中的密码不会更改.

其他人可以更新但密码,我不知道为什么.没有任何错误信息.

我是symfony2的新手,有人帮我吗?

感谢kwozny,现在我修复它〜 我不改变函数configureFormFields代码,只需按照kwozny的建议,添加以下代码.我不知道为什么,但我工作!我可以更新密码,当我更新其他密码(密码字段为空)时,密码不会更改.

public function prePersist($object)
    {
        parent::prePersist($object);

    }
    public function preUpdate($object)
    {
        parent::preUpdate($object);

    }
Run Code Online (Sandbox Code Playgroud)

change-password symfony fosuserbundle sonata-admin

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

Symfony模拟 - 单独的防火墙和单独的用户提供程序

我有一个带有两个防火墙的Symfony应用程序,一个用于管理员,一个用于普通用户.

admin:
    provider: admin
    # etc

main_site:
    form_login:
        provider: fos_userbundle
        csrf_provider: form.csrf_provider
Run Code Online (Sandbox Code Playgroud)

我希望管理员用户能够冒充普通用户.我怎么能这样做,因为他们使用单独的防火墙和单独的用户提供商?

impersonation symfony fosuserbundle

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

管理角色并为角色分配权限 - Symfony

我正在基于角色和权限在Symfony 3中构建一个Admin面板.将为每个管理员分配一个角色(或多个角色),然后他将能够根据分配给该角色的权限执行操作.


为了给你一个想法,这是一个例子:

  • 管理面板具有添加用户,编辑用户和删除用户的功能.
  • 我创建了一个角色:USER_MANAGEMENT_WITHOUT_DELETE拥有user_create和的权限user_edit.
  • 我创建了USER_MANAGEMENT_WITH_DELETE有权限的角色user_create,user_edituser_delete
  • 所以,现在,管理员与作用USER_MANAGEMENT_WITH_DELETEadd,editdelete在用户那里的管理员与角色USER_MANAGEMENT_WITHOUT_DELETE只能addedit用户,但不能删除它们.

我搜索并发现了有关FOSUserBundleACL的信息.一些推荐的ACL,而其他人说最好使用FOSUserBunder

我还阅读了FOSUserBunder的文档以及它如何在roles列中存储角色,类似的东西a:1:{i:0;s:10:"ROLE_ADMIN";},但没有提到任何关于权限的内容.所以这是我的疑问:

  1. 我在两者之间感到困惑.我应该使用哪一个?
  2. 如果我使用FOSUserBunder,如何管理权限?

php permissions acl symfony fosuserbundle

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

FOS用户/注册路径在URL中工作,但不作为路径

我正在使用Doctrine和FOS为用户帐户创建一个symfony项目.

我有http://localhost:8000/register/正确的路径并显示我的页面.

但是,如果我将它添加为树枝中的路径,如下所示: <p><a href="{{ path('register') }}">No Account? Register here!</a></p>

我收到这个错误

在呈现模板期间抛出了异常("无法生成>为命名路径生成URL"/ register"因为此类路由不存在.").

我已经在routing.yml中获得了所有需求信息

app:
    resource: "@AppBundle/Controller/"
    type:     annotation

fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"

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: /profile
Run Code Online (Sandbox Code Playgroud)

这可能是什么问题,我该如何解决?

php symfony twig fosuserbundle

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

symfony - IS_AUTHENTICATED_ANONYMOUSLY 不工作

我从 Symfony 的旅程开始。
在这一点上,我试图保护我的身份验证路由(我正在使用 FOSUserBundle),所以我这样做:

access_control:
    - { path: ^/logowanie$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/rejestracja, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetowanie-hasla, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/backstage/, role: ROLE_ADMIN }
    - { path: ^/profile/, role: ROLE_USER }
Run Code Online (Sandbox Code Playgroud)

但是,无论是否登录,我都可以访问这些路线。
我的坏在哪里?

# To get started with security, check out the documentation:
# https://symfony.com/doc/current/security.html
security:
    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username

    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_token_generator: security.csrf.token_manager
                check_path: fos_user_security_check
                login_path: …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle

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