类 SaSession
java.lang.Object
cn.dev33.satoken.session.SaSession
- 所有已实现的接口:
SaGetValueInterface,SaSetValueInterface,Serializable
Session Model,会话作用域的读取值对象
在一次会话范围内: 存值、取值。数据在注销登录后失效。
在 Sa-Token 中,SaSession 分为三种,分别是:
- Account-Session: 指的是框架为每个 账号id 分配的 SaSession。
- Token-Session: 指的是框架为每个 token 分配的 SaSession。
- Custom-Session: 指的是以一个 特定的值 作为SessionId,来分配的 SaSession。
注意:以上分类仅为框架设计层面的概念区分,实际上它们的数据存储格式都是一致的。
- 从以下版本开始:
- 1.10.0
- 作者:
- click33
- 另请参阅:
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidaddTokenSign(TokenSign tokenSign) 添加一个 Token 签名voidaddTokenSign(String tokenValue, String device) 已过时。voidclear()清空所有挂载数据删值取值long返回:当前 SaSession 的创建时间(13位时间戳)获取数据挂载集合(如果更新map里的值,请调用 session.update() 方法避免产生脏数据 )getId()获取:此 SaSession 的 id获取:所属 loginId (当此 SaSession 属于 Account-Session 时,此值有效)获取:所属 loginTypelong获取此Session的剩余存活时间 (单位: 秒)getToken()获取:所属 Token (当此 SaSession 属于 Token-Session 时,此值有效)getTokenSign(String tokenValue) 查找一个 Token 签名获取此 Session 绑定的 Token 签名列表getTokenSignListByDevice(String device) 返回 Token 签名列表 的拷贝副本,根据 device 筛选getTokenValueListByDevice(String device) 获取当前 Session 上的所有 token 列表getType()获取:此 SaSession 的 类型keys()返回当前 Session 挂载数据的所有 keyvoidlogout()注销Session (从持久库删除)void当Session上的tokenSign数量为零时,注销会话voidrefreshDataMap(Map<String, Object> dataMap) 写入数据集合 (不改变底层对象引用,只将此 dataMap 所有数据进行替换)voidremoveTokenSign(String tokenValue) 移除一个 Token 签名写值写值 (只有在此 key 原本无值的情况下才会写入)setCreateTime(long createTime) 写入:此 SaSession 的创建时间(13位时间戳)写入:此 SaSession 的 idsetLoginId(Object loginId) 设置:所属 loginId (当此 SaSession 属于 Account-Session 时,此值有效)setLoginType(String loginType) 设置:所属 loginType设置:所属 Token (当此 SaSession 属于 Token-Session 时,此值有效)voidsetTokenSignList(List<TokenSign> tokenSignList) 写入此 Session 绑定的 Token 签名列表设置:此 SaSession 的 类型获取 Token 签名列表 的拷贝副本tokenSignListCopyByDevice(String device) 已过时。protected longtrans(long value) value为 -1 时返回 Long.MAX_VALUE,否则原样返回voidupdate()更新Session(从持久库更新刷新一下)voidupdateMaxTimeout(long maxTimeout) 修改此Session的最大剩余存活时间 (只有在 Session 的过期时间高于指定的 maxTimeout 时才会进行修改)voidupdateMinTimeout(long minTimeout) 修改此Session的最小剩余存活时间 (只有在 Session 的过期时间低于指定的 minTimeout 时才会进行修改)voidupdateTimeout(long timeout) 修改此Session的剩余存活时间从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.dev33.satoken.application.SaGetValueInterface
get, getDouble, getFloat, getInt, getLong, getModel, getModel, getString, getValueByDefaultValue, has, valueIsNull从接口继承的方法 cn.dev33.satoken.application.SaSetValueInterface
get
-
字段详细资料
-
构造器详细资料
-
SaSession
public SaSession()构建一个 Session 对象 -
SaSession
构建一个 Session 对象- 参数:
id- Session的id
-
-
方法详细资料
-
getId
获取:此 SaSession 的 id- 返回:
- /
-
setId
写入:此 SaSession 的 id- 参数:
id- /- 返回:
- 对象自身
-
getType
获取:此 SaSession 的 类型- 返回:
- /
-
setType
设置:此 SaSession 的 类型- 参数:
type- /- 返回:
- 对象自身
-
getLoginType
获取:所属 loginType- 返回:
- /
-
setLoginType
设置:所属 loginType- 参数:
loginType- /- 返回:
- 对象自身
-
getLoginId
获取:所属 loginId (当此 SaSession 属于 Account-Session 时,此值有效)- 返回:
- /
-
setLoginId
设置:所属 loginId (当此 SaSession 属于 Account-Session 时,此值有效)- 参数:
loginId- /- 返回:
- 对象自身
-
getToken
获取:所属 Token (当此 SaSession 属于 Token-Session 时,此值有效)- 返回:
- /
-
setToken
设置:所属 Token (当此 SaSession 属于 Token-Session 时,此值有效)- 参数:
token- /- 返回:
- 对象自身
-
getCreateTime
public long getCreateTime()返回:当前 SaSession 的创建时间(13位时间戳)- 返回:
- /
-
setCreateTime
写入:此 SaSession 的创建时间(13位时间戳)- 参数:
createTime- /- 返回:
- 对象自身
-
setTokenSignList
写入此 Session 绑定的 Token 签名列表- 参数:
tokenSignList- Token 签名列表
-
getTokenSignList
获取此 Session 绑定的 Token 签名列表- 返回:
- Token 签名列表
-
tokenSignListCopy
获取 Token 签名列表 的拷贝副本- 返回:
- token签名列表
-
getTokenSignListByDevice
返回 Token 签名列表 的拷贝副本,根据 device 筛选- 参数:
device- 设备类型,填 null 代表不限设备类型- 返回:
- token签名列表
-
getTokenValueListByDevice
获取当前 Session 上的所有 token 列表- 参数:
device- 设备类型,填 null 代表不限设备类型- 返回:
- 此 loginId 的所有登录 token
-
getTokenSign
查找一个 Token 签名- 参数:
tokenValue- token值- 返回:
- 查找到的 TokenSign
-
addTokenSign
添加一个 Token 签名- 参数:
tokenSign- Token 签名
-
addTokenSign
已过时。添加一个 Token 签名- 参数:
tokenValue- token值device- 设备类型
-
removeTokenSign
移除一个 Token 签名- 参数:
tokenValue- token值
-
update
public void update()更新Session(从持久库更新刷新一下) -
logout
public void logout()注销Session (从持久库删除) -
logoutByTokenSignCountToZero
public void logoutByTokenSignCountToZero()当Session上的tokenSign数量为零时,注销会话 -
getTimeout
public long getTimeout()获取此Session的剩余存活时间 (单位: 秒)- 返回:
- 此Session的剩余存活时间 (单位: 秒)
-
updateTimeout
public void updateTimeout(long timeout) 修改此Session的剩余存活时间- 参数:
timeout- 过期时间 (单位: 秒)
-
updateMinTimeout
public void updateMinTimeout(long minTimeout) 修改此Session的最小剩余存活时间 (只有在 Session 的过期时间低于指定的 minTimeout 时才会进行修改)- 参数:
minTimeout- 过期时间 (单位: 秒)
-
updateMaxTimeout
public void updateMaxTimeout(long maxTimeout) 修改此Session的最大剩余存活时间 (只有在 Session 的过期时间高于指定的 maxTimeout 时才会进行修改)- 参数:
maxTimeout- 过期时间 (单位: 秒)
-
trans
protected long trans(long value) value为 -1 时返回 Long.MAX_VALUE,否则原样返回- 参数:
value- /- 返回:
- /
-
get
取值- 指定者:
get在接口中SaGetValueInterface- 参数:
key- key- 返回:
- 值
-
set
写值- 指定者:
set在接口中SaSetValueInterface- 参数:
key- 名称value- 值- 返回:
- 对象自身
-
setByNull
写值 (只有在此 key 原本无值的情况下才会写入)- 指定者:
setByNull在接口中SaSetValueInterface- 参数:
key- 名称value- 值- 返回:
- 对象自身
-
delete
删值- 指定者:
delete在接口中SaSetValueInterface- 参数:
key- 要删除的key- 返回:
- 对象自身
-
keys
返回当前 Session 挂载数据的所有 key- 返回:
- key 列表
-
clear
public void clear()清空所有挂载数据 -
getDataMap
获取数据挂载集合(如果更新map里的值,请调用 session.update() 方法避免产生脏数据 )- 返回:
- 返回底层储存值的map对象
-
refreshDataMap
写入数据集合 (不改变底层对象引用,只将此 dataMap 所有数据进行替换)- 参数:
dataMap- 数据集合
-
tokenSignListCopyByDevice
已过时。请更换为:getTokenSignListByDevice(device)- 参数:
device- 设备类型,填 null 代表不限设备类型- 返回:
- token签名列表
-