SpringBoot Session管理工具类
- 2020 年 2 月 13 日
- 筆記
import com.zyd.blog.business.consts.SessionConst; import com.zyd.blog.business.entity.User; import com.zyd.blog.framework.holder.RequestHolder; import java.util.UUID; public class SessionUtil { /** * 当前是否登录 * * @return */ public static boolean isLogin() { return null != SessionUtil.getUser(); } /** * 获取session中的用户信息 * * @return User */ public static User getUser() { return (User) RequestHolder.getSession(SessionConst.USER_SESSION_KEY); } /** * 添加session * * @param user */ public static void setUser(User user) { RequestHolder.setSession(SessionConst.USER_SESSION_KEY, user); } /** * 删除session信息 */ public static void removeUser() { RequestHolder.removeSession(SessionConst.USER_SESSION_KEY); } /** * 获取session中的Token信息 * * @return String */ public static String getToken(String key) { return (String) RequestHolder.getSession(key); } /** * 添加Token */ public static void setToken(String key) { RequestHolder.setSession(key, UUID.randomUUID().toString()); } /** * 删除Token信息 */ public static void removeToken(String key) { RequestHolder.removeSession(key); } /** * 获取验证码 */ public static String getKaptcha() { return (String) RequestHolder.getSession(SessionConst.KAPTCHA_SESSION_KEY); } /** * 保存验证码 */ public static void setKaptcha(String kaptcha) { RequestHolder.setSession(SessionConst.KAPTCHA_SESSION_KEY, kaptcha); } /** * 保存验证码 */ public static void removeKaptcha() { RequestHolder.removeSession(SessionConst.KAPTCHA_SESSION_KEY); } /** * 删除所有的session信息 */ public static void removeAllSession() { String[] keys = RequestHolder.getSessionKeys(); if (keys != null && keys.length > 0) { for (String key : keys) { RequestHolder.removeSession(key); } } } }
RequestHolder是获取每次请求的HttpServletRequest对象的工具类。