【问题标题】:Symfony/Silex SecurityServiceProvider: Serialization of 'Closure' is not allowedSymfony/Silex SecurityServiceProvider:不允许序列化“关闭”
【发布时间】:2016-07-28 12:54:09
【问题描述】:

我关注[Silex SecurityServiceProvider][1]

[1]:http://silex.sensiolabs.org/doc/providers/security.html一步一步,但是当我提交登录表单时,我得到了错误:

Exception in AbstractToken.php line 154:
Serialization of 'Closure' is not allowed

我不知道这个错误是从哪里来的......我使用的代码与示例完全相同:

控制器:

$app->get('/login', function(Request $request) use ($app) {
    return $app['twig']->render('login.twig', array(
        'error'         => $app['security.last_error']($request),
        'last_username' => $app['session']->get('_security.last_username'),
    ));
});

查看:

<form action="{{ path('connexion') }}" method="post">
    {{ error }}
    <input type="text" name="_username" value="{{ last_username }}" />
    <input type="password" name="_password" value="" />
    <input type="submit" />
</form>

错误的第一行:

 in AbstractToken.php line 154
at SplObjectStorage->serialize()
at serialize(array(object(User), true, array(object(Role)), array())) in AbstractToken.php line 154
at AbstractToken->serialize() in UsernamePasswordToken.php line 96
at UsernamePasswordToken->serialize()
at serialize(object(UsernamePasswordToken)) in ContextListener.php line 129
at ContextListener->onKernelResponse(object(FilterResponseEvent), 'kernel.response', object(TraceableEventDispatcher))
at call_user_func(array(object(ContextListener), 'onKernelResponse'), object(FilterResponseEvent), 'kernel.response', object(TraceableEventDispatcher)) in WrappedListener.php line 61
at WrappedListener->__invoke(object(FilterResponseEvent), 'kernel.response', object(EventDispatcher))
at call_user_func(object(WrappedListener), object(FilterResponseEvent), 'kernel.response', object(EventDispatcher)) in EventDispatcher.php line 174

感谢您的帮助

【问题讨论】:

    标签: php forms symfony authentication silex


    【解决方案1】:

    我通过实现 \Serializable 解决了这个问题。

    class User extends Entity implements UserInterface, \Serializable {
    

    根据文档

    http://symfony.com/doc/current/cookbook/security/entity_provider.html
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 2014-04-21
      • 2017-02-14
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多