spring boot项目之登陆缓存session至redis和cookies

Posted bozzzhdz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot项目之登陆缓存session至redis和cookies相关的知识,希望对你有一定的参考价值。

一、将获取的openId(详细步骤见卖家扫码登陆获取openId)作为参数传入到SellerUserController中的login登陆方法。

技术分享图片

注:此处设置token,是为了取出时先从cookie中拿出token,再回redis校验

二、将传入的openId去和数据库中的数据进行匹配

技术分享图片

三、先在application.yml中设置redis配置,然后再将token设置进redis(token作为value设置进cookie写进response,又作为key设置进redis,相应的value为openId)

技术分享图片

技术分享图片

技术分享图片技术分享图片

四、将Token写进cooike

 1、CookieUtil的写法

package com.imooc.utils;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;

public class CookieUtil {

/**
* 设置
* @param response
* @param name
* @param value
* @param maxAge
*/
public static void set(HttpServletResponse response,
String name,
String value,
int maxAge) {
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}

/**
* 获取cookie
* @param request
* @param name
* @return
*/
public static Cookie get(HttpServletRequest request,
String name) {
Map<String, Cookie> cookieMap = readCookieMap(request);
if (cookieMap.containsKey(name)) {
return cookieMap.get(name);
}else {
return null;
}
}

/**
* 将cookie封装成Map
* @param request
* @return
*/
private static Map<String, Cookie> readCookieMap(HttpServletRequest request) {
Map<String, Cookie> cookieMap = new HashMap<>();
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie: cookies) {
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}
}

 2、

技术分享图片

 



























































以上是关于spring boot项目之登陆缓存session至redis和cookies的主要内容,如果未能解决你的问题,请参考以下文章

spring boot项目之redis缓存

spring boot项目之卖家扫码登陆获取openid(微信身份验证id)

Spring Boot 2 tomcat ssl握手缓存

spring boot 项目登录模块之身份验证

spring boot 中使用redis session

spring-boot+mybatis+ehcache实现快速查询