当前位置:  开发笔记 > 程序员 > 正文

如何通过它的user_id以编程方式在Symfony3中登录用户?

如何解决《如何通过它的user_id以编程方式在Symfony3中登录用户?》经验,为你挑选了1个好方法。

我有一个user_id.
使用此user_id,我找到了相应的用户对象.
但我想登录此用户.
是否可以仅使用其user_id值登录此用户?



1> Cerad..:

是这样的:

public function loginUser(Request $request, UserInterface $user)
{
    $firewallName = 'whatever';
    $securityTokenStorage = $this->get('security.token_storage');
    $eventDispatcher = $this->get('event_dispatcher');

    $token = new UsernamePasswordToken($user, null, $firewallName, $user->getRoles());

    $securityTokenStorage->setToken($token);

    $event = new InteractiveLoginEvent($request, $token);

    $eventDispatcher->dispatch(SecurityEvents::INTERACTIVE_LOGIN, $event);
}

但我强烈建议你花点时间了解这里发生的事情而不是复制/粘贴.这种东西可能很棘手.


它不是一个功能,它是一个类.Symfony安全系统不直接处理用户而是处理令牌.最终,此令牌存储在会话中,并在请求之间存活,从而保持用户登录.再次,您需要了解此类代码才能使代码正常工作.首先阅读文档中的安全性部分.
推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有