我有一个用 symfony2 编写的简单登录/注册应用程序。我正在使用 db 编码器来检查用户/密码组合。那部分工作得很好。
我在登录时遇到问题。我不明白 login_check 路径?控制器在哪里?
我需要在用户登录期间捕获纯密码,以便我可以将该用户名和纯密码传递给 php xmpp 命名空间,该命名空间将在 openfire 服务器检查用户/密码。
如果我对此有错误的方法,请告诉我。我真的需要一些指导。
请指教。
我有一个用 symfony2 编写的简单登录/注册应用程序。我正在使用 db 编码器来检查用户/密码组合。那部分工作得很好。
我在登录时遇到问题。我不明白 login_check 路径?控制器在哪里?
我需要在用户登录期间捕获纯密码,以便我可以将该用户名和纯密码传递给 php xmpp 命名空间,该命名空间将在 openfire 服务器检查用户/密码。
如果我对此有错误的方法,请告诉我。我真的需要一些指导。
请指教。
请参阅我对类似问题的回答,以快速了解特殊的“路线”form_login.check_path
我通过添加一个在用户登录时触发的事件侦听器来解决这个问题。
服务.yml
services:
d_user.login_listener:
class: Chat\IndexBundle\EventListener\LoginListener
arguments: []
tags:
- { name: 'kernel.event_subscriber', event: 'security.interactive_login' }
和听众
namespace Chat\IndexBundle\EventListener;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class LoginListener implements EventSubscriberInterface
{
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
die(var_dump($event->getRequest()));
}
//...etc
}
现在die(var_dump($event->getRequest()));
我可以捕获用户并将其传递给openfire服务器,我可以从中获取sid、rid和jid并附加到前端的那个会话。