SpringBoot怎么实现持久化登录状态获取

  介绍

本篇内容主要讲解“SpringBoot怎么实现持久化登录状态获取”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么实现持久化登录状态获取”吧!

SpringBoot持久化登录状态获取

1。编写登录的控制器文件

写入饼干

//登陆成功后//没д撕判畔⒋嫒胧菘庵?/写饼干(因存入数据库,无需写入会话了)   ,,,,,,,,,,,response.addCookie (new 饼干(“token",令牌),

2。编写首页控制器逻辑

@ Controller   public  class  IndexController  {   ,,@ autowired   ,,,private  UserMapper  usermap;   ,,,@GetMapping (“/?   ,,,public  String 指数(HttpServletRequest 请求){   ,,,,,,,饼干[],cookies =, request.getCookies ();   ,,,,,,,if  (cookies  !=, null) {   ,,,,,,,,,,,for  (Cookie  Cookie :饼干),{   ,,,,,,,,,,,,,,,if  (cookie.getName () .equals (“token")) {   ,,,,,,,,,,,,,,,,,,,String  token =, cookie.getValue ();   ,,,,,,,,,,,,,,,,,,,System.out.println(“准备进数据库“);   ,,,,,,,,,,,,,,,,,,,User  User =, userMapper.findByToken(令牌),,//去数据库寻找该令牌值的用户信息   ,,,,,,,,,,,,,,,,,,,System.out.println (user.toString ());   ,,,,,,,,,,,,,,,,,,,如果(user  !=, null){,//若找到了这个用户信息   ,,,,,,,,,,,,,,,,,,,,,,,//写进会议,让页面去展示   ,,,,,,,,,,,,,,,,,,,,,,,request.getSession () .setAttribute (“user"、用户);   ,,,,,,,,,,,,,,,,,,,}   ,,,,,,,,,,,,,,,,,,,休息;   ,,,,,,,,,,,,,,,}   ,,,,,,,,,,,}   ,,,,,,,}   ,,,,,,,return “index";   ,,,}   }

3。运行测试,成功

SpringBoot实现登录登出,登录态管理

账户模块中必要的功能登录登出,相信这个大家都经常使用了。简单介绍下在SpringBoot中的实现

<强>先说下实现思路:

用户名密码存储在数据库中,前端发出请求,拦截器先检测用户有无登录,若有登录可直接请求接口。无需登录就可请求的接口需要加@NoLogin自定义注解。若未登录,前端跳转到登录页面,调用登录接口,系统在后台验证用户名密码,验证通过将用户信息存储在复述中和线程上下文中。

1。设计表结构

除了必要的用户名密码其他账户信息字段大家可根据自己系统需求添加。

CREATE  TABLE “t_account”, (   “id”,才能长整型数字(20),NOT  NULL  AUTO_INCREMENT  COMMENT  & # 39;主键& # 39;,   “名字”,才能varchar (64), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;姓名& # 39;,   “移动”,才能varchar (32), NOT  NULL  COMMENT  & # 39;手机号& # 39;,   “身份”,才能varchar (32), NOT  NULL  COMMENT  & # 39;身份证号码& # 39;,   “user_name”,才能varchar (32), NOT  NULL  COMMENT  & # 39;账户& # 39;,   “密码”,才能varchar (64), NOT  NULL  DEFAULT  & # 39; & # 39;, COMMENT  & # 39;登录密码& # 39;,   “accept_region”,才能长整型数字(20),NOT  NULL  COMMENT  & # 39;受理中心网(点)编号& # 39;,   “状态”,才能int (11), NOT  NULL  DEFAULT  & # 39; 1 & # 39;, COMMENT  & # 39;状态:,,0,禁用,1,正常,9,删除& # 39;,   “create_time”,才能timestamp  NOT  NULL  DEFAULT  CURRENT_TIMESTAMP  COMMENT  & # 39;创建时间& # 39;,   “create_by”,才能长整型数字(20),DEFAULT  NULL  COMMENT  & # 39;创建人身份证,,   “update_time”,才能timestamp  NOT  NULL  DEFAULT  CURRENT_TIMESTAMP 提醒UPDATE  CURRENT_TIMESTAMP  COMMENT  & # 39;修改时间& # 39;,   “update_by”,才能长整型数字(20),DEFAULT  NULL  COMMENT  & # 39;修改人身份证,,   PRIMARY 才能;KEY  (id)   ),引擎=InnoDB  AUTO_INCREMENT=0, DEFAULT  CHARSET=utf8  ROW_FORMAT=DYNAMIC 评论=& # 39;C端网点人员账户表& # 39;;

2。null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

SpringBoot怎么实现持久化登录状态获取