0

我正在尝试扩展一个类,而我需要的只是 UserProvider。

我认为传入“@security.context”服务并执行下面的代码可以做到,但它不起作用(它只是说 $security_context 不是对象);

// $security_context holds the passed in $security_context service

$security_context->getToken()->getUser(); // doesn't work

如果这有所作为,我正在使用 FOSUserBundle。

当我将其传递给 __construct 时,可能尚未创建用户,但我不确定发生了什么。

那么如何获得这个用户提供者呢?是否有 security.user_provider 服务?

该脚本允许一组用户提供者,但我只需要并且拥有一个。

--

完整配置:

服务.yml:

  security.authentication.rememberme.services.simplehash: #override/extend this class
    class: Acme\MyBundle\ExtendRememberMe
    parent: security.authentication.rememberme.services.abstract
    abstract: true
    arguments:
      - "@security.context"
      - "@doctrine.orm.entity_manager"

Acme\MyBundle\ExtendRememberMe.php

public function __construct( $security_context, $doctrine_entity_manager ) {

    $userProviders = array( $security_context->getToken()->getUser() );

    //etc. (but error due to above line)

{
4

1 回答 1

0

fos 用户提供程序是fos_user.user_provider.usernamefos_user.user_provider.username_email

添加- [@fos_user.user_provider.username]为参数。

于 2013-08-01T14:27:19.047 回答