代码语言:javascript复制
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对象的工具类。