首页>代码>Springboot开发的精简博客系统 >/noteblogv4-master/src/main/java/me/wuwenbin/noteblogv4/config/application/NBContext.java
package me.wuwenbin.noteblogv4.config.application; import me.wuwenbin.noteblogv4.model.constant.NoteBlogV4; import me.wuwenbin.noteblogv4.model.entity.permission.NBSysUser; import me.wuwenbin.noteblogv4.util.CookieUtils; import me.wuwenbin.noteblogv4.util.NBUtils; import org.springframework.stereotype.Component; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; /** * 全局的上下文对象 * 用于操作session和cookie * created by Wuwenbin on 2018/7/16 at 12:25 * * @author wuwenbin */ @Component public class NBContext extends ConcurrentHashMap<String, NBSession> { private static ConcurrentHashMap<String, Object> applicationContext = new ConcurrentHashMap<>(100); public void setSessionUser(HttpServletRequest request, HttpServletResponse response, NBSysUser sessionUser) { NBSession session = NBSession.builder() .sessionUser(sessionUser) .expired(false) .host(NBUtils.getRemoteAddress(request)) .build(); Cookie cookie = CookieUtils.getCookie(request, NoteBlogV4.Session.SESSION_ID_COOKIE); if (cookie != null) { session.setId(cookie.getValue()); } CookieUtils.setCookie(response, NoteBlogV4.Session.SESSION_ID_COOKIE, session.getId(), -1); put(session.getId(), session); } public NBSysUser getSessionUser(String uuid) { Optional<NBSession> user = Optional.ofNullable(get(uuid)); return user.map(NBSession::getSessionUser).orElse(null); } public void removeSessionUser(String uuid) { super.remove(uuid); } public void clearAll() { super.clear(); } public void setApplicationObj(String key, Object value) { applicationContext.put(key, value); } public <T> T getApplicationObj(String key) { //noinspection unchecked return (T) applicationContext.get(key); } public void removeApplicationObj(String key) { applicationContext.remove(key); } }
最近下载更多
qiangmin1223 LV12
前天
xiaokang1 LV10
4月23日
zhouenyi LV6
3月14日
admin_z LV22
2023年12月21日
WHY-small LV15
2023年12月20日
fff2003 LV6
2023年12月20日
Rucoding LV7
2023年10月31日
周敏国 LV9
2023年10月15日
qq573914838 LV5
2023年9月2日
taoshen95 LV14
2023年8月19日
最近浏览更多
qiangmin1223 LV12
前天
whb5566 LV10
前天
zolscy LV12
4月23日
xiaokang1 LV10
4月23日
xiaozhi丶 LV14
4月22日
qwm374149 LV1
4月19日
akittyboy LV9
4月16日
李二san LV1
4月13日
lingtiejing LV15
4月12日
微信网友_6945567553622016 LV1
4月10日