0

我有一个用 symfony2 编写的简单登录/注册应用程序。我正在使用 db 编码器来检查用户/密码组合。那部分工作得很好。

我在登录时遇到问题。我不明白 login_check 路径?控制器在哪里?

我需要在用户登录期间捕获纯密码,以便我可以将该用户名和纯密码传递给 php xmpp 命名空间,该命名空间将在 openfire 服务器检查用户/密码。

如果我对此有错误的方法,请告诉我。我真的需要一些指导。

请指教。

4

2 回答 2

1

请参阅对类似问题的回答,以快速了解特殊的“路线form_login.check_path

于 2013-10-25T22:45:35.007 回答
1

我通过添加一个在用户登录时触发的事件侦听器来解决这个问题。

服务.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并附加到前端的那个会话。

这个答案很有帮助

于 2013-10-26T00:21:10.890 回答