首页>代码>spring boot整合freemaker开发医院管理系统>/hospital/src/main/java/com/gbq/hospital/config/shiro/MySessionManager.java
package com.gbq.hospital.config.shiro;
import com.github.pagehelper.util.StringUtil;
import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
/**
* @author Morty
*/
public class MySessionManager extends DefaultWebSessionManager {
public static final String AUTHORIZATION = "token";
public static final String REFERENCED_SESSION_ID_SOURCE = "Stateless request";
public MySessionManager() {
super();
}
@Override
protected Serializable getSessionId(ServletRequest request, ServletResponse response) {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
String sessionId = httpServletRequest.getHeader(AUTHORIZATION);
//如果请求头中有 Authorization 则其值为sessionId
if (StringUtil.isNotEmpty(sessionId)) {
request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE, REFERENCED_SESSION_ID_SOURCE);
request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID, sessionId);
request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID, Boolean.TRUE);
return sessionId;
} else {
//否则按默认规则从cookie取sessionId
return super.getSessionId(request, response);
}
}
}
最近下载更多
zjjhzjb LV15
2025年4月16日
微信网友_7134912998903808 LV15
2024年9月11日
jiyun2021 LV9
2024年7月15日
FF加菲猫 LV4
2024年2月15日
woshiwo LV3
2024年1月17日
xuyang1991 LV2
2023年12月26日
adaddad LV2
2023年11月11日
skook7 LV2
2023年8月31日
LYLHYC LV5
2023年8月2日
五折也挺好的 LV13
2023年7月10日
最近浏览更多
vincemokea LV9
2025年9月25日
denliv_hui LV14
2025年8月7日
zjb243665659 LV7
2025年4月16日
zjjhzjb LV15
2025年4月16日
TaoTaot
2025年4月7日
暂无贡献等级
blanknb
2025年3月18日
暂无贡献等级
abdkfksdkf LV16
2025年2月23日
zhihou LV2
2025年2月6日
2602275348 LV12
2025年1月6日
微信网友_7327207556829184
2025年1月5日
暂无贡献等级

