标签: fosuserbundle

登录前Symfony 2 FOSFacebookBundle自定义重定向

我在我的项目中使用FOSUserBundle和FOSFacebookBundle(适用于版本SF 2.0.x).另外,我实现并定制了FacebookProvider,如FOSFacebookBundle文档中所述.我想实现以下工作流程:1.)用户第一次访问我的门户2.)他点击Facebook登录按钮3.)现在我需要检查,如果这个用户,谁点击了Facebook登录-Button在我的门户网站上已经有了Facebook-Friends.4.)如果他有朋友,请使用预先填写的输入字段将他重定向到注册页面(包括来自Facebook的信息,如username,first_name,last_name等).5.)如果我的门户网站上没有Facebook好友,请将他重定向到另一个页面

我开始关注Webprofiler,这些事件被调用.我已经开始在这个页面上创建我自己的事件监听器:http://www.dobervich.com/2011/10/13/login-redirection-revisited/ 但是配置文件在"not not"列表中显示我的监听器调用侦听器":security.interactive_login SecurityListener :: onSecurityInteractiveLogin

有谁知道,我如何自定义此登录前检查并将用户重定向到页面?

很高兴能得到一些帮助.

谢谢你,拉莫

symfony fosuserbundle

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

FOSUserBundle在twig表单上使用plainPassword

我正在为新用户注册定义我自己的twig布局,除了FOSUserBundle中的plainPassword字段之外,我已经按照我想要的方式布局了所有内容.

<p class="left">
   {{ form_widget(form.plainPassword) }}
</p>
<div class="clearfix"></div>
Run Code Online (Sandbox Code Playgroud)

上面的代码显示密码和验证块.我想将其分解为form.plainPassword.label,form.plainPassword.field,form.plainPassword2.label和form.plainPassword2.field的4个元素.我无法弄清楚要放入form_label()form_widget()调用的内容.

<p class="left">
   {{ form_label( ??? ) }}
   {{ form_widget( ??? ) }}
</p>
<p class="left">
   {{ form_label( ??? ) }}
   {{ form_widget( ??? ) }}
</p>
<div class="clearfix"></div>
Run Code Online (Sandbox Code Playgroud)

我假设这可以做到.

forms symfony twig fosuserbundle symfony-2.1

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

在Symfony2和FOSUserBundle中,重写login_check

在用户通过身份验证的那一刻,我需要检查他的角色,将他重定向到正确的页面(两个不同的角色,两个不同的角色).

我没有在文档中找到如何覆盖login_check.在捆绑包中,它使用security.yml配置代理来告诉引擎转到一个唯一的默认页面.任何线索?

注销的问题相同.

php security symfony fosuserbundle

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

Symfony2 - fos创建所需的超级管理员自定义字段

我正在将SF2.1项目部署到生产环境中.
我已经定制了用户模型,因此需要某些字段.
所以,当我尝试创建我的超级管理员

$ php app/console fos:user:create admin my@mail.com my_pass --super-admin
Run Code Online (Sandbox Code Playgroud)

我越来越

[PDOException]
SQLSTATE [23000]:完整性约束违规:1048列'my_required_field'不能为空

管理它的干净方法是什么?
我想象一下,不要手动将用户插入表格......

deployment doctrine symfony fosuserbundle symfony-2.1

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

使用Bootstrap自定义FOSUserBundle登录模板

我已经安装了Symfony2,FOS用户包和Twitter Bootstrap.

然后我设置/app/Resources/FOSUserBundle/views/layout.html.twig模板以覆盖FOSUserBundle以使用我的网站模板.

如果我在主页上有/ login的链接,这一切都有效.

现在我想实现一个像英雄模板这样的模板,其中登录表单是主模板的一部分.

我最接近的是在主模板中使用它:

{% render controller("FOSUserBundle:Security:login") %}
Run Code Online (Sandbox Code Playgroud)

我可以覆盖布局html以不扩展主模板,但这会从/ login中删除所有样式

我有什么想法可以处理这两种情况吗?

symfony twig twitter-bootstrap fosuserbundle

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

Symfony 2 - FOSUserBundle - 如何在API中集成

我正在研究一个新项目symfony 2.我正在同时学习这个框架.对于用户管理,我使用捆绑FOSUserBundle.我的项目运作良好,我可以登录,注册,注销和所有其他命令.

问题是,我想制作智能手机应用程序,它将使用我的Symfony应用程序的API.在应用中,用户必须登录或注册.是否也可以为API使用FOSUserBundle方法?

我研究了另一个非常适合制作API的软件包,它是FOSRestBundle.如果没有解决方案,你认为我将不得不创建我自己的用户方法,如:

    /api/login
    /api/registrer 
Run Code Online (Sandbox Code Playgroud)

然后,在这个方法里面,我重定向到FOSUserBundle方法?我很想知道什么是最好的,最干净的登录方式,并通过智能手机注册FOSUserBundle,所以使用API

谢谢

api mobile symfony fosuserbundle fosrestbundle

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

FOS用户捆绑表格覆盖

我正在使用FOS用户捆绑包+ Symfony2.3.我想覆盖FOS用户包表单.覆盖并希望在头文件中添加登录和注册表单.对于show in header我使用的是javascript.例如,当我点击tab-2然后打开注册表单

有一件事我只是覆盖这个,这是有效的,但当注册表格调用其他HTML时,它不起作用

我这样做但这是我的错误:

The CSRF token is invalid. Please try to resubmit the form.
Run Code Online (Sandbox Code Playgroud)

我不知道为什么 ?

我的档案是:

HeaderController.php

<?php
namespace XYZ\FrontBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use XYZ\UserBundle\Form\Type\RegistrationFormType;

class HeaderController extends Controller
{
    /**
     * @Route("/header", name="header")
     * @Template()
     */
    public function indexAction()
    {
        $registrationForm = $this->createForm(new RegistrationFormType());
        return array('registration_form'   => $registrationForm->createView());
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

报头(index.html.twig): -

{# Signup #}
<div id="tab-2" class="login_form">
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(registration_form) }} method="POST" class="fos_user_registration_register">
<label><strong>Full Name</strong>
{{ form_widget(registration_form.username) …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle

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

如果未登录,则重定向到"/ login"

/login如果出现以下情况,我需要将所有人重定向到

  • 访问/路线(app.phpapp_dev.php)
  • 尝试访问任何受限制的区域,客户端属于组或拥有正确的凭据,但它没有登录(不太确定这是必要的,因为Symfony可能会处理此部分)

所以我在我这样做了security.yml:

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: ^/
            anonymous: ~
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true

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

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

这个在routing.yml:

common:
    resource: "@CommonBundle/Controller/"
    type: …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle symfony-2.4

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

如何在Symfony2中使用FOSUserBundle正确注销

有谁可以告诉我我必须做的步骤,以便我可以从我的后台退出我正在使用symfony2和fosuser捆绑这里是我的security.yml

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
            default_target_path: /admin
            # if you are using Symfony < 2.8, use the following config instead:
            # csrf_provider: form.csrf_provider

        logout:       true
        anonymous:    true

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

我试图添加

logout:
        path:   /logout
        target: /login …
Run Code Online (Sandbox Code Playgroud)

logout symfony fosuserbundle

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

供应商更新破坏了FOS用户捆绑包"在非对象上调用成员函数has()"

我为Symfony 2.8项目更新了我的供应商,突然登录页面没有加载 - 而是我得到了这个:

错误:在第184行的vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php中的非对象上调用成员函数has()

"name": "hazardlog",
"license": "proprietary",
"type": "project",
"autoload": {
    "psr-4": {
        "": "src/"
    },
    "classmap": [
        "app/AppKernel.php",
        "app/AppCache.php"
    ]
},
"repositories": [
    {
        "type": "package",
        "package": {
            "name": "jquery/jquery",
            "version": "1.11.1",
            "dist": {
                "url": "https://code.jquery.com/jquery-1.11.1.js",
                "type": "file"
            }
        }
    }
],
"require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.8.*",
    "doctrine/orm": "^2.4.8",
    "doctrine/doctrine-bundle": "~1.4",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~5.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "braincrafted/bootstrap-bundle": "~2.0",
    "twbs/bootstrap": "3.0.*",
    "jquery/jquery":  "1.11.*",
    "hwi/oauth-bundle": "^0.5.0",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "stephanecollot/datetimepicker-bundle": "dev-master"
},
"require-dev": { …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle

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