我在我的项目中使用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
有谁知道,我如何自定义此登录前检查并将用户重定向到页面?
很高兴能得到一些帮助.
谢谢你,拉莫
我正在为新用户注册定义我自己的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)
我假设这可以做到.
在用户通过身份验证的那一刻,我需要检查他的角色,将他重定向到正确的页面(两个不同的角色,两个不同的角色).
我没有在文档中找到如何覆盖login_check.在捆绑包中,它使用security.yml配置代理来告诉引擎转到一个唯一的默认页面.任何线索?
注销的问题相同.
我正在将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'不能为空
管理它的干净方法是什么?
我想象一下,不要手动将用户插入表格......
我已经安装了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 2.我正在同时学习这个框架.对于用户管理,我使用捆绑FOSUserBundle.我的项目运作良好,我可以登录,注册,注销和所有其他命令.
问题是,我想制作智能手机应用程序,它将使用我的Symfony应用程序的API.在应用中,用户必须登录或注册.是否也可以为API使用FOSUserBundle方法?
我研究了另一个非常适合制作API的软件包,它是FOSRestBundle.如果没有解决方案,你认为我将不得不创建我自己的用户方法,如:
/api/login
/api/registrer
Run Code Online (Sandbox Code Playgroud)
然后,在这个方法里面,我重定向到FOSUserBundle方法?我很想知道什么是最好的,最干净的登录方式,并通过智能手机注册FOSUserBundle,所以使用API
谢谢
我正在使用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) /login如果出现以下情况,我需要将所有人重定向到
/路线(app.php或app_dev.php)所以我在我这样做了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) 有谁可以告诉我我必须做的步骤,以便我可以从我的后台退出我正在使用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) 我为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) fosuserbundle ×10
symfony ×10
php ×3
symfony-2.1 ×2
twig ×2
api ×1
deployment ×1
doctrine ×1
forms ×1
logout ×1
mobile ×1
security ×1
symfony-2.4 ×1