注销处理程序Silex

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注销处理程序Silex相关的知识,希望对你有一定的参考价值。

我想在注销后更改USER的状态。但我不知道如何制作它。

$app->register(new SilexProviderSecurityServiceProvider());
$app['security.firewalls'] = array(
        'chat' => array(
            'pattern'=>'/chat',
            'anonymous'=>false,
            //login_path: before authorisation  Check_path: path to check the date of the user
            'form'=>array('login_path'=>'/login','check_path' => '/chat/login_check'),
            //should realizise the logout
            'logout'=>array('logout_path'=>'/chat/logout','target_url'=>'/logout'),
            'users'=> $app->share(function() use ($app){
                return new 
esourcescontrollerUserProvider($app['db']);
            })
        )
);

似乎没有会议了。我已经和了

'invalidate_session'=>false 

'invalidate_session'=>true 

选项。它不工作。

谢谢您帮忙

答案

您可以添加注销处理程序

$app->extend('security.firewall', function($firewall, $app) {
    static $initialized = false;
    if ($initialized) return $firewall;
    $initialized = true;

    // logout handlers
    $app['security.authentication_listener.administration.logout']->addHandler(
        new MyLogoutLogoutHandler()
    );

    return $firewall;
});

LogoutHandler应该实现LogoutHandlerInterface

class LogoutHandler implements LogoutHandlerInterface
{
    public function logout(Request $request, Response $response, TokenInterface $token)
    {
        $user = $token->getUser();
    }
}

以上是关于注销处理程序Silex的主要内容,如果未能解决你的问题,请参考以下文章

Silex 帮助。谁能解释为啥我在这里收到 404 错误?

自定义错误页面中的 Silex 和 Twig 助手

如何在 Silex 框架中使用 YAML 配置文件

Firebase Facebook 登录即使在卸载应用程序后清除缓存和注销

我在哪里存储Silex中的常规配置参数?

菜单项可见性不会部分改变