cn.jiangzeyin.system.SystemSessionInfo Maven / Gradle / Ivy
package cn.jiangzeyin.system;
import cn.jiangzeyin.entity.base.AdminOptBaseEntity;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* 系统session 信息
*
* @author jiangzeyin
*/
public class SystemSessionInfo implements AdminOptBaseEntity.SystemSessionInfo {
private static SessionUser sessionUser;
private static final SystemSessionInfo SESSION_INFO = new SystemSessionInfo();
/**
* @param sessionUser sessionUser
* @author jiangzeyin
*/
public static void setSessionUser(SessionUser sessionUser) {
SystemSessionInfo.sessionUser = sessionUser;
AdminOptBaseEntity.init(SESSION_INFO);
}
/**
* 获取当前操作session 用户名
*
* @return name
* @author jiangzeyin
*/
public static String getUserName() {
if (sessionUser == null)
return "";
return sessionUser.getUserName();
}
/**
* 获取当前操作session 用户id
*
* @return id
* @author jiangzeyin
*/
public static int getUserId() {
if (sessionUser == null)
return -1;
return sessionUser.getUserId();
}
public static String userIdGetName(int userId) {
if (sessionUser == null)
return "";
return sessionUser.userIdGetName(userId);
}
@Override
public String entityUserIdGetName(int userId) {
return userIdGetName(userId);
}
/**
* 获取session 信息接口
*
* @author jiangzeyin
*/
public interface SessionUser {
String getUserName();
int getUserId();
String userIdGetName(int userId);
}
public static ServletRequestAttributes getServletRequestAttributes() {
RequestAttributes attributes;
try {
attributes = RequestContextHolder.currentRequestAttributes();
} catch (IllegalStateException e) {
// TODO: handle exception
return null;
}
ServletRequestAttributes sra = (ServletRequestAttributes) attributes;
return sra;
}
public static HttpServletRequest getRequest() {
ServletRequestAttributes servletRequestAttributes = getServletRequestAttributes();
if (servletRequestAttributes == null)
return null;
return servletRequestAttributes.getRequest();
}
public static HttpSession getSession() {
HttpServletRequest request = getRequest();
if (request == null)
return null;
return request.getSession();
}
public static HttpServletResponse getResponse() {
ServletRequestAttributes servletRequestAttributes = getServletRequestAttributes();
if (servletRequestAttributes == null)
return null;
return servletRequestAttributes.getResponse();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy