标签: fosuserbundle

奇怪的意外T_STRING错误

我在当前的Symfony2项目中有一个奇怪的PHP错误:

unexpected T_STRING in /blahblah/Foo/BarBundle/Entity/User.php on line 1
Run Code Online (Sandbox Code Playgroud)

这是一个非常标准的错误,通常与一对不匹配的"或"相关联.

但这里是User.php文件的代码

<?php
namespace Foo\BarBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 * @ORM\Entity(repositoryClass="Foo\BarBundle\Entity\UserRepository")
 */
class User extends \FOS\UserBundle\Entity\User
{
    // classic user entity
Run Code Online (Sandbox Code Playgroud)

行<?php是第1行.没有引号,奇怪的是这个错误只出现在我的登台服务器上:在具有代码本地副本的2台开发机器上,它的行为符合预期,没有错误或警告.该文件是正确的,缓存已清空.我认为它可能是一个编码错误但它似乎不是这个.我也想过命名空间问题,但服务器上的PHP版本是正确的(5.3.16)

你知道这个错误可能源于什么,或者我可以搜索哪个方向?提前致谢.

php syntax-error symfony fosuserbundle

7
推荐指数
1
解决办法
1067
查看次数

为FOS UserBundle扩展UserProvider

我正在使用Symfony2构建一个站点,它将是一个白标类型的站点,其中多个域映射到同一服务器.因此coolsite.customer1.com和aservice.customer2.com将映射到同一站点,但需要与最终用户显示不同.我已经解决了域名,并将唯一配置作为服务加载.

使用FOS UserBundle设置并运行自定义用户(其中​​存储了domain_id),注册,登录等工作正常,但domain1的用户也可以登录到domain2.这在FOS UserBundle中是预期的.我需要对捆绑包进行修改,以便它只对在分配给它们的域上的用户进行身份验证.

我创建了一个userProvider,它扩展了FOS中的原始userProvider,并重写了loadUserByUsername方法以检查域.见下文:

use FOS\UserBundle\Security\UserProvider as FOSProvider;
use Symfony\Component\DependencyInjection\ContainerInterface;
use FOS\UserBundle\Model\UserManagerInterface;
use Me\CoreBundle\Models\Core;

class UserProvider extends FOSProvider {

    /**
     *
     * @var ContainerInterface 
     */
    protected $container;


    public function __construct(UserManagerInterface $userManager, ContainerInterface $container) {
        parent::__construct($userManager);
        $this->container = $container;
    }

    /**
     * {@inheritDoc}
     */
    public function loadUserByUsername($username)
    {
        $core = $this->container->get('me_core');
        /* @var $core Core */

        $user = $this->findUserBy(array(
            'username'=>$username,
            'domain_id'=>$core->getDomainMap()->getId(),
        ));

        if (!$user) {
            throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username));
        }

        return $user;
    }

    public function findUserBy(array …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle symfony-2.1

7
推荐指数
1
解决办法
6527
查看次数

FOSFacebookBundle和FOSUserBundle

我正在尝试设置FOSFacebookBundle和FOSUserBundle,因此用户可以使用注册帐户或Facebook帐户登录.

这里有相关代码:

config.yml:

fos_user:
db_driver: orm 
firewall_name: public
user_class: Fam\DiaBundle\Entity\User
from_email:
    address:        info@famdia.com
    sender_name:    Staff
registration:
    confirmation:
        enabled:    true

fos_facebook:

    file:   %kernel.root_dir%/../vendor/facebook/src/base_facebook.php
    alias:  facebook
    app_id: 1234567890
    secret: abcdefg1234567890
    cookie: true
    permissions: [email]
    culture: us_US
Run Code Online (Sandbox Code Playgroud)

security.yml

#
# app/config/security.yml
#
#

services:
    my.facebook.user:
        class: Fam\Dia\Security\User\Provider\FacebookProvider
        arguments:
            facebook: "@fos_facebook.api"
            userManager: "@fos_user.user_manager"
            validator: "@validator"
            container: "@service_container"
security:
    factories:
        - "%kernel.root_dir%/../vendor/bundles/FOS/FacebookBundle/Resources/config/security_factories.xml"

    providers:
        chain_provider:
            providers: [fos_userbundle, my_fos_facebook_provider]
        fos_userbundle:
            id: fos_user.user_manager
        my_fos_facebook_provider:
            id: my.facebook.user

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

    firewalls:
        public:
          pattern:   ^/
          fos_facebook:
            app_url: "http://apps.facebook.com/dia/"
            server_url: "http://diafam.com/facebookApp/" …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle

6
推荐指数
1
解决办法
5871
查看次数

如何在FOSUserBundle中添加和管理ROLES?

我安装了FOSUserBundle,我想添加任何其他角色,例如ROLE_NEW.在sfGuardUser只需做

$this->getUser()->addCredential('new');
Run Code Online (Sandbox Code Playgroud)

在行动,在这?

此外,我如何(管理员)管理所有(首先管理ROLES)用户?在sfGuardUser中我生成了默认的管理页面,在这里?

php symfony fosuserbundle

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

如何为使用FOSUserBundle的迁移用户生成salt和confirmation_token条目

我正在复活一个已经关闭了几年的网站,我正在将所有内容迁移到Symfony2.我能够将所有旧的用户数据库条目放入fos_user表中.唯一的问题是salt和confirmation_token条目是空的,因为用户不是以标准方式创建的.我希望所有用户重置密码,所以我根本不担心旧的哈希密码.如何一次为13,000个用户生成条目?也许我需要覆盖控制器以在每次请求密码时创建salt和confirmation_token?这方法已经存在吗?似乎其他人之前会遇到这个问题.

谢谢

mysql symfony fosuserbundle

6
推荐指数
1
解决办法
4491
查看次数

fosuserbundle覆盖登录操作

我正在使用FSOUserBundle,我想覆盖loginAction,我使用了这个方法:

namespace PjDZ\UserBundle\Controller;
use FOS\UserBundle\Controller\SecurityController as BaseController;

class SecurityController extends BaseController {

public function loginAction(\Symfony\Component\HttpFoundation\Request $request)
{
    /** @var $session \Symfony\Component\HttpFoundation\Session\Session */
    $session = $request->getSession();

    // get the error if any (works with forward and redirect -- see below)
    if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
        $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
    } elseif (null !== $session && $session->has(SecurityContext::AUTHENTICATION_ERROR))    {
        $error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
        $session->remove(SecurityContext::AUTHENTICATION_ERROR);
    } else {
        $error = '';
    }

    if ($error) {
        // TODO: this is a potential security risk (see http://trac.symfony-project.org/ticket/9523)
        $error = $error->getMessage(); …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle

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

如何在Symfony AdvancedUserInterface中使用凭证过期属性?

在Symfony 2.4项目中,我们的客户希望强制用户每N天更改一次密码.我们看到数据库中有"credentials_expired"和"credentials_expire_at"列,并且在UserChecker类中抛出了一个似乎用于此目的的AccountExpiredException,但我找不到任何关于如何启用或配置此文档的文档特征.

  • 在每次密码更改后的N天后,credentials_expire_at列如何填充日期?
  • 如果密码过期,用户如何更改密码?
  • 如何提前几天警告用户关于passoword到期?
  • 是否可以禁止重复使用上一个密码?

symfony fosuserbundle

6
推荐指数
1
解决办法
3581
查看次数

加密密码FOSUserBundle

我有一个使用FOSUSerBundle来管理用户的symfony项目,现在我需要通过Simple Rest Webservice访问数据库,注册中的加密是:Sha512,我如何获得与我尝试的FOS相同的哈希结果:

hash('sha512',($salt.$password));
Run Code Online (Sandbox Code Playgroud)

hash('sha512',($password.$salt));
Run Code Online (Sandbox Code Playgroud)

但它不起作用!有什么建议 ?

php rest symfony fosuserbundle

6
推荐指数
1
解决办法
8961
查看次数

使用FOSRestBundle REST API设置注册FOSUserBundle

问题已解决,请检查我的答案.

我正在我的Symfony2.7 rest api上建立一个注册端点.我正在使用FosRestBundle和FosUserBundle

这是用户模型:

<?php

namespace AppBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;






    public function __construct() {
        parent::__construct();
        // your own logic
    }

}
Run Code Online (Sandbox Code Playgroud)

\ 这是UserType表单: \

class UserType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('email', 'email')
            ->add('username', null)
            ->add('plainPassword', 'repeated', …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle fosrestbundle symfony-2.7

6
推荐指数
1
解决办法
7350
查看次数

作曲家冲突和Symfony 3

我是作曲家和symfony的新手,我已经开始了一个symfony3项目.事情进展顺利,但现在作曲家不会更新我的依赖.我一直在寻找解决方案3个小时.

这是我的控制台日志:

  Problem 1
- sonata-project/admin-bundle dev-master requires sonata-project/block-bundle 3.x-dev@dev -> satisfiable by sonata-project/block-bundle[3.x-dev] but these conflict with your requirements or minimum-stability.
- sonata-project/admin-bundle dev-master requires sonata-project/block-bundle 3.x-dev@dev -> satisfiable by sonata-project/block-bundle[3.x-dev] but these conflict with your requirements or minimum-stability.
- Installation request for sonata-project/admin-bundle dev-master -> satisfiable by sonata-project/admin-bundle[dev-master].
Run Code Online (Sandbox Code Playgroud)

还有我的composer.json要求:

    "require": {
    "php": ">=5.5.9",
    "symfony/symfony": "3.0.*",
    "doctrine/orm": "^2.5",
    "doctrine/doctrine-bundle": "^1.6",
    "doctrine/doctrine-cache-bundle": "^1.2",
    "symfony/swiftmailer-bundle": "^2.3",
    "symfony/monolog-bundle": "^2.8",
    "sensio/distribution-bundle": "^5.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "incenteev/composer-parameter-handler": "^2.0",
    "friendsofsymfony/user-bundle": "dev-master",
    "sonata-project/admin-bundle": "dev-master",
    "sonata-project/doctrine-orm-admin-bundle": "dev-master"
}, …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle composer-php sonata-admin

6
推荐指数
1
解决办法
1531
查看次数