Symfony 2.6.x – Symfony 3.0.x

从symfony 2.6开始security.context已弃用,赞成security.token_storage。控制器现在可以简单地是:

use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

use YourNameSpace\UserBundle\Entity\User;

class LoginController extends Controller{

public function registerAction()

{

$user = //Handle getting or creating the user entity likely with a posted form

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

$this->get('security.token_storage')->setToken($token);

$this->get('session')->set('_security_main', serialize($token));

}

}

虽然这已被弃用,您仍然可以使用security.context,因为它已被做成向后兼容。只是准备更新它为Symfony 3

Symfony 2.3.x

要在symfony 2.3中完成此操作,您不能再在安全上下文中设置令牌。您还需要将令牌保存到会话。

假设安全文件具有防火墙,如:

// app/config/security.yml

security:

firewalls:

main:

//firewall settings here

和控制器动作类似:

use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

use YourNameSpace\UserBundle\Entity\User;

class LoginController extends Controller{

public function registerAction()

{

$user = //Handle getting or creating the user entity likely with a posted form

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

$this->get('security.context')->setToken($token);

$this->get('session')->set('_security_main',serialize($token));

//Now you can redirect where ever you need and the user will be logged in

}

}

对于令牌创建,您将要创建一个UsernamePasswordToken,它接受4个参数:用户实体,用户凭据,防火墙名称,用户角色。您不需要提供令牌有效的用户凭据。

我不是100%确保设置在security.context的令牌是必要的,如果你只是要立即重定向。但它似乎没有伤害,所以我离开了它。

然后重要的部分,设置会话变量。变量命名约定是_security_,后面是您的防火墙名称,在这种情况下,主要使用_security_main

注册后自动登录 php,php – 自动注册后用户身份验证相关推荐

  1. Windows开机自动登录及取消自动登录的设置

    Win10.Win7.WinXP如何开机自动登录?如何取消开机自动登录? 开机自动登录 开始菜单搜索框输入 "netplwiz" 按回车 或"Win+R"组合键 ...

  2. python12306自动抢票为什么进入个人中心,python自动登录12306并自动点击验证码完成登录的实现源代码...

    以下代码可自动登录12306 - 包括输入用户名密码以及自动识别验证码并点击验证码登陆.该源码需要稍作修改: 把  username.send_keys('xxxxxxx')  中的  xxxxxx ...

  3. python计算机体系三层结构_Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证...

    Python tkinter 实现简单登陆注册 最终效果 开始界面 ​ 注册 登陆 ​ 源码 login.py # encoding=utf-8 from tkinter import * from ...

  4. 计算机 注册表 远程桌面,仅允许运行使用网络级别身份验证的远程桌面计算机连接失败处理方法(远程桌面连接)...

    计算机在开启远程桌面的时候选中了"仅允许运行使用网络级别身份验证的远程桌面计算机连接",于是连接时提示错误如下: 远程计算机需要网络级别身份验证,而您的计算机不支持该验证,请联系您 ...

  5. win7 远程计算机需要网络级别身份验证,而您的计算机不支持该验证,Windows远程登录:远程计算机需要网络级别身份验证,而您的计算机不支持该验证,请联系...

    问题是这样的:在xp下远程连接windows7/windows2008,由于远程win7/win2008计算机在开启远程桌面的时候选中了"仅允许运行使用网络级别身份验证的远程桌面计算机连接& ...

  6. twitter4j android,使用twitter4j api登录twitter而无需在android中打开用户身份验证页面...

    我使用twitter4j api登录twiter并发布推文. 我还在https://dev.twitter.com/apps/new上注册了该应用,并获得了消费者密钥和秘密. Configuratio ...

  7. php路由器怎么登录认证,PHP用户身份验证,如路由器登录

    当我们尝试登录路由器时,如何在php中创建用户身份验证. 当我输入网址,例如www.example.com/portal时,应该有一个提示,如上面的图像询问用户名和密码. 这是什么类型的身份验证.如何 ...

  8. 计算机登录用户认证,一种计算机系统用户身份验证方法与流程

    本发明涉及一种身份验证方法,具体涉及一种计算机系统用户身份验证方法. 背景技术: 现代社会生活中,无论是科学研究.商业发展.日常办公还是医疗或教育,无一例外地都与计算机技术息息相关.计算机技术的发展使 ...

  9. php ntlm登录,NTLM 用户身份验证

    NTLM 用户身份验证 09/27/2020 本文内容 本文提供有关 NTLM 用户身份验证的一些信息. 原始产品版本:   Windows Server 2012 R2 原始 KB 编号:   10 ...

  10. w ndows10电脑配置看哪里,Windows10怎么自动登录?Windows10自动登录的设置方法

    在Windows10系统的默认状态下,我们登录系统是需要输入密码的,虽然输入登录密码可以较好的保护系统的安全,但是确实麻烦了不少,因此很多用户想要设置Windows10自动登录,那么该如何操作呢?下面 ...

最新文章

  1. keepalived VRRP同步组配置
  2. LUA 利用#遍历表的问题
  3. 基于Consul的分布式信号量实现
  4. 【数字逻辑设计】卡诺图
  5. vue-cli中引入jquery的方法
  6. ISO 22301 业务连续性管理(BCM) 认证培训及标准
  7. 会计实务综合模拟计算机实训心得,模拟企业会计实训心得体会
  8. 简述python模块
  9. php pear pecl 区别,pecl 简单介绍
  10. 魅族ROOT在线申请地址
  11. 实战 - 学成在线项目
  12. 【浏览器】解决火狐和Chrome上不了网,只有IE能上网的问题
  13. 存储器容量的扩充以及DRAM
  14. FCKEditor 使用
  15. 修改linux内核达到隐藏进程目的(2.6.28)
  16. 关于java中getInstance()方法
  17. 黑色星期五c语言程序,[蓝桥杯][算法训练VIP]黑色星期五 (C语言代码)
  18. 数据结构之 击鼓传花
  19. 如何在centos7中安装QQ
  20. 当公共摄像头融入网络后的7大化学反应

热门文章

  1. 486. Predict the Winner | 486. 预测赢家(博弈论)
  2. 【Python】SQLAlchemy长时间未请求,数据库连接断开的原因、解决方案
  3. C++ 动态线性表的顺序存储结构(数组实现)
  4. Python基础之:struct和格式化字符
  5. fail-safe fail-fast知多少
  6. linux 等待信号,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  7. android 蒙版图片带拖动_Android实现蒙版弹出框效果
  8. vue_axios详解
  9. jQuery的val()方法
  10. 【解题报告】Leecode 500. 键盘行——Leecode每日一题系列