package com.javaweb.framework.shiro.session; import org.apache.shiro.session.mgt.SimpleSession; import com.javaweb.common.enums.OnlineStatus; /** * 在线用户会话属性 * * @author ruoyi */ public class OnlineSession extends SimpleSession { private static final long serialVersionUID = 1L; /** 用户ID */ private Long userId; /** 用户名称 */ private String loginName; /** 部门名称 */ private String deptName; /** 用户头像 */ private String avatar; /** 登录IP地址 */ private String host; /** 浏览器类型 */ private String browser; /** 操作系统 */ private String os; /** 在线状态 */ private OnlineStatus status = OnlineStatus.on_line; /** 属性是否改变 优化session数据同步 */ private transient boolean attributeChanged = false; @Override public String getHost() { return host; } @Override public void setHost(String host) { this.host = host; } public String getBrowser() { return browser; } public void setBrowser(String browser) { this.browser = browser; } public String getOs() { return os; } public void setOs(String os) { this.os = os; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getLoginName() { return loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public OnlineStatus getStatus() { return status; } public void setStatus(OnlineStatus status) { this.status = status; } public void markAttributeChanged() { this.attributeChanged = true; } public void resetAttributeChanged() { this.attributeChanged = false; } public boolean isAttributeChanged() { return attributeChanged; } public String getAvatar() { return avatar; } public void setAvatar(String avatar) { this.avatar = avatar; } @Override public void setAttribute(Object key, Object value) { super.setAttribute(key, value); } @Override public Object removeAttribute(Object key) { return super.removeAttribute(key); } }