spring boot項目之登陸緩存session至redis和cookies
阿新 • • 發佈:2018-09-17
進行 @param span set 參數 cat control session open
一、將獲取的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