登录没有表格提交

时间:2012-02-21 17:10:43

标签: symfony

我正在寻找并且看起来有点太长时间来解决我的问题,我几乎找不到任何关注困扰我的话题。

即:您是否知道在不使用表单登录的情况下是否可以在symfony2内处理用户登录?更确切地说,我的意思是让我们这样说:

$this->authenticationManager->login($user->getUsername(), $user->getPassword());

现在我有两个想法可以做我想做但有点不同的事情:

  1. 利用AJAX并通过POST将isquest发送到loginAction(不幸的是,如果JavaScript已被禁用,这将不起作用)
  2. 在symfony的文档中,我找到了一个选项 post_only:true 当我设置为false时,我可以通过GET方法访问loginAction,这样简单的重定向就可以完成这项工作。
  3. 不过,我更喜欢我正在寻找的解决方案。

    BTW:如果我需要成功提交登录数据,你能告诉我如何生成csrf令牌吗?

1 个答案:

答案 0 :(得分:6)

您可以手动设置身份验证令牌:

// Inside an action, for example. You already need an user.
$providerKey = 'main'; // your firewall name
$token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles());
$this->container->get('security.context')->setToken($token);

找到here

相关问题