pio*_*kkr 11 authentication events hook symfony
我现在正在搜索一段时间,以获取有关如何在symfony2中验证成功后执行某些操作的信息.我想在使用旧哈希成功验证后立即重新使用用户密码来使用bcrypt.当我仍然有有效的普通密码时,我需要这样做,所以它应该在凭证检查之后和重定向之前.
任何线索如何实现?
我在Symfony中发现了一些关于事件调度程序的内容,但是在成功验证后我无法找到是否有任何事件.
如果我试图以错误的方式做这个并提出一些更好的方法,请纠正我.
// 编辑
好吧,我发现事件在auth成功之后被触发,它被调用security.authentication.success.所以我现在可以附加到这个事件,但现在我不知道我的边界代码应该在哪里附加我的事件监听器?我应该用我的/src/Pkr/BlogUserBundle/DependencyInjection/PkrBlogUserExtension.phpin load()方法吗?
Gha*_*iss 30
您可以指定在成功登录时执行的登录成功处理程序.
例如,您的security.yml
firewalls:
main:
pattern: ^/
form_login:
success_handler: my.security.login_handler
Run Code Online (Sandbox Code Playgroud)
现在创建实现Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface和成功登录的类,您可以随心所欲地执行任何操作并根据需要处理重定向.
/**
*
*/
public function onAuthenticationSuccess(Request $request, TokenInterface $token)
{
// handle it and return a response
}
Run Code Online (Sandbox Code Playgroud)
然后在您的services.xml中为您的bundle创建一个具有该名称的服务,或者使用新创建的处理程序在config.yml中创建一个服务.
我最初在本教程后面了解了如何执行此操作:
http://www.reecefowell.com/2011/10/26/redirecting-on-loginlogout-in-symfony2-using-loginhandlers/
| 归档时间: |
|
| 查看次数: |
11967 次 |
| 最近记录: |