注销处理程序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的主要内容,如果未能解决你的问题,请参考以下文章