我正在尝试扩展一个类,我需要的只是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服务?
该脚本允许一组用户提供者,但我只需要一个。
-
完整配置:
services.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)
{
答案 0 :(得分:0)
fos用户提供商 fos_user.user_provider.username 和 fos_user.user_provider.username_email
添加- [@fos_user.user_provider.username]
作为参数。