类 SaSession

java.lang.Object
cn.dev33.satoken.session.SaSession
所有已实现的接口:
SaGetValueInterface, SaSetValueInterface, Serializable

public class SaSession extends Object implements SaSetValueInterface, Serializable
Session Model,会话作用域的读取值对象

在一次会话范围内: 存值、取值

作者:
kong
另请参阅:
  • 字段详细资料

    • USER

      public static final String USER
      在 Session 上存储用户对象时建议使用的key
      另请参阅:
    • ROLE_LIST

      public static final String ROLE_LIST
      在 Session 上存储角色时建议使用的key
      另请参阅:
    • PERMISSION_LIST

      public static final String PERMISSION_LIST
      在 Session 上存储权限时建议使用的key
      另请参阅:
  • 构造器详细资料

    • SaSession

      public SaSession()
      构建一个 Session 对象
    • SaSession

      public SaSession(String id)
      构建一个 Session 对象
      参数:
      id - Session的id
  • 方法详细资料

    • getId

      public String getId()
      获取此 Session 的 id
      返回:
      此 Session 的id
    • setId

      public SaSession setId(String id)
      写入此 Session 的 id
      参数:
      id - SessionId
      返回:
      对象自身
    • getCreateTime

      public long getCreateTime()
      返回当前会话创建时间(时间戳)
      返回:
      时间戳
    • setCreateTime

      public SaSession setCreateTime(long createTime)
      写入此 Session 的创建时间(时间戳)
      参数:
      createTime - 时间戳
      返回:
      对象自身
    • setTokenSignList

      public void setTokenSignList(List<TokenSign> tokenSignList)
      写入此 Session 绑定的 Token 签名列表
      参数:
      tokenSignList - Token 签名列表
    • getTokenSignList

      public List<TokenSign> getTokenSignList()
      获取此 Session 绑定的 Token 签名列表
      返回:
      Token 签名列表
    • tokenSignListCopy

      public List<TokenSign> tokenSignListCopy()
      获取 Token 签名列表 的拷贝副本
      返回:
      token签名列表
    • tokenSignListCopyByDevice

      public List<TokenSign> tokenSignListCopyByDevice(String device)
      返回 Token 签名列表 的拷贝副本,根据 device 筛选
      参数:
      device - 设备类型,填 null 代表不限设备类型
      返回:
      token签名列表
    • getTokenSign

      public TokenSign getTokenSign(String tokenValue)
      查找一个 Token 签名
      参数:
      tokenValue - token值
      返回:
      查找到的 TokenSign
    • addTokenSign

      public void addTokenSign(TokenSign tokenSign)
      添加一个 Token 签名
      参数:
      tokenSign - Token 签名
    • addTokenSign

      public void addTokenSign(String tokenValue, String device)
      添加一个 Token 签名
      参数:
      tokenValue - token值
      device - 设备类型
    • removeTokenSign

      public void removeTokenSign(String tokenValue)
      移除一个 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

      public Object get(String key)
      取值
      指定者:
      get 在接口中 SaGetValueInterface
      参数:
      key - key
      返回:
    • set

      public SaSession set(String key, Object value)
      写值
      指定者:
      set 在接口中 SaSetValueInterface
      参数:
      key - 名称
      value - 值
      返回:
      对象自身
    • setByNull

      public SaSession setByNull(String key, Object value)
      写值 (只有在此 key 原本无值的情况下才会写入)
      指定者:
      setByNull 在接口中 SaSetValueInterface
      参数:
      key - 名称
      value - 值
      返回:
      对象自身
    • delete

      public SaSession delete(String key)
      删值
      指定者:
      delete 在接口中 SaSetValueInterface
      参数:
      key - 要删除的key
      返回:
      对象自身
    • keys

      public Set<String> keys()
      返回当前Session的所有key
      返回:
      所有值的key列表
    • clear

      public void clear()
      清空所有值
    • getDataMap

      public Map<String,Object> getDataMap()
      获取数据挂载集合(如果更新map里的值,请调用session.update()方法避免产生脏数据 )
      返回:
      返回底层储存值的map对象
    • refreshDataMap

      public void refreshDataMap(Map<String,Object> dataMap)
      写入数据集合 (不改变底层对象,只将此dataMap所有数据进行替换)
      参数:
      dataMap - 数据集合