类 StpLogic
java.lang.Object
cn.dev33.satoken.stp.StpLogic
Sa-Token 权限认证,逻辑实现类
- 作者:
- kong
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明void检查当前token 是否已经[临时过期],如果已经过期则抛出异常voidcheckActivityTimeout(String tokenValue) 检查指定token 是否已经[临时过期],如果已经过期则抛出异常void根据注解(@SaCheckDisable)鉴权void根据注解(@SaCheckLogin)鉴权void根据注解(@SaCheckPermission)鉴权void根据注解(@SaCheckRole)鉴权void根据注解(@SaCheckSafe)鉴权voidcheckDisable(Object loginId) 校验:指定账号是否已被封禁,如果被封禁则抛出异常voidcheckDisable(Object loginId, String... services) 校验:指定账号 指定服务 是否已被封禁,如果被封禁则抛出异常voidcheckDisableLevel(Object loginId, int level) 校验:指定账号是否已被封禁到指定等级(如果已经达到,则抛出异常)voidcheckDisableLevel(Object loginId, String service, int level) 校验:指定账号的指定服务,是否已被封禁到指定等级(如果已经达到,则抛出异常)void检验当前会话是否已经登录,如未登录,则抛出异常voidcheckPermission(String permission) 校验:当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionExceptionvoidcheckPermissionAnd(String... permissionArray) 校验:当前账号是否含有指定权限 [指定多个,必须全部验证通过]voidcheckPermissionOr(String... permissionArray) 校验:当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]void校验:当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleExceptionvoidcheckRoleAnd(String... roleArray) 校验:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]voidcheckRoleOr(String... roleArray) 校验:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]void检查当前会话是否已通过二级认证,如未通过则抛出异常void检查当前会话是否已通过二级认证,如未通过则抛出异常protected voidclearLastActivity(String tokenValue) 清除指定 Token 的 [最后操作时间记录]void在当前会话 结束二级认证void在当前会话 结束二级认证创建指定账号id的登录会话createLoginSession(Object id, SaLoginModel loginModel) 创建指定账号id的登录会话创建一个TokenValuevoiddeleteTokenSession(String tokenValue) 删除Token-SessionvoiddeleteTokenToIdMapping(String tokenValue) 删除 Token-Id 映射void封禁:指定账号void封禁:指定账号的指定服务voiddisableLevel(Object loginId, int level, long time) 封禁:指定账号,并指定封禁等级voiddisableLevel(Object loginId, String service, int level, long time) 封禁:指定账号的指定服务,并指定封禁等级protected StringdistUsableToken(Object id, SaLoginModel loginModel) 为指定账号id的登录操作,分配一个可用的 Tokenvoid结束临时切换身份获取当前匿名 Token-Session (可在未登录情况下使用的Token-Session)getAnonTokenSession(boolean isCreate) 获取当前匿名 Token-Session (可在未登录情况下使用的Token-Session)返回全局配置对象int返回全局配置的 Cookie 保存时长,单位:秒 (根据全局 timeout 计算)boolean返回全局配置对象的isShare属性intgetDisableLevel(Object loginId) 获取:指定账号被封禁的等级,如果未被封禁则返回-2intgetDisableLevel(Object loginId, String service) 获取:指定账号的 指定服务 被封禁的等级,如果未被封禁则返回-2longgetDisableTime(Object loginId) 获取:指定账号剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁)longgetDisableTime(Object loginId, String service) 获取:指定账号 指定服务 剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁)获取当前 Token 的扩展信息(此函数只在jwt模式下生效)获取指定 Token 的扩展信息(此函数只在jwt模式下生效)返回当前会话的登录设备类型获取当前会话账号id, 如果未登录,则抛出异常<T> TgetLoginId(T defaultValue) 获取当前会话账号id, 如果未登录,则返回默认值int获取当前会话账号id, 并转换为int类型long获取当前会话账号id, 并转换为long类型获取当前会话账号id, 并转换为String类型getLoginIdByToken(String tokenValue) 获取指定Token对应的账号id,如果未登录,则返回 null获取当前会话账号id, 如果未登录,则返回nullgetLoginIdNotHandle(String tokenValue) 获取指定Token对应的账号id (不做任何特殊处理)获取当前 StpLogic 的账号类型获取:当前账号的权限码集合getPermissionList(Object loginId) 获取:指定账号的权限码集合获取:当前账号的角色集合getRoleList(Object loginId) 获取:指定账号的角色集合long获取当前会话的二级认证剩余有效时间 (单位: 秒, 返回-2代表尚未通过二级认证)longgetSafeTime(String service) 获取当前会话的二级认证剩余有效时间 (单位: 秒, 返回-2代表尚未通过二级认证)返回持久化对象获取当前User-Session,如果Session尚未创建,则新建并返回getSession(boolean isCreate) 获取当前User-Session, 如果Session尚未创建,isCreate=是否新建并返回getSessionByLoginId(Object loginId) 获取指定账号id的User-Session,如果Session尚未创建,则新建并返回getSessionByLoginId(Object loginId, boolean isCreate) 获取指定账号id的User-Session, 如果Session尚未创建,isCreate=是否新建并返回getSessionBySessionId(String sessionId) 获取指定key的Session, 如果Session尚未创建,则返回nullgetSessionBySessionId(String sessionId, boolean isCreate) 获取指定key的Session, 如果Session尚未创建,isCreate=是否新建并返回long获取当前登录者的 User-Session 剩余有效时间 (单位: 秒)longgetSessionTimeoutByLoginId(Object loginId) 获取指定 loginId 的 User-Session 剩余有效时间 (单位: 秒)返回[身份临时切换]的loginIdlong获取当前 token [临时过期] 剩余有效时间 (单位: 秒)longgetTokenActivityTimeoutByToken(String tokenValue) 获取指定 token [临时过期] 剩余有效时间 (单位: 秒)获取当前会话的Token信息返回token名称获取当前Token-Session,如果Session尚未创建,则新建并返回getTokenSession(boolean isCreate) 获取当前Token-Session,如果Session尚未创建,isCreate代表是否新建并返回getTokenSessionByToken(String tokenValue) 获取指定Token-Session,如果Session尚未创建,则新建并返回getTokenSessionByToken(String tokenValue, boolean isCreate) 获取指定Token-Session,如果Session尚未创建,isCreate代表是否新建并返回long获取当前 Token-Session 剩余有效时间 (单位: 秒)longgetTokenSessionTimeoutByTokenValue(String tokenValue) 获取指定 Token-Session 剩余有效时间 (单位: 秒)long获取当前登录者的 token 剩余有效时间 (单位: 秒)longgetTokenTimeoutByLoginId(Object loginId) 获取指定 loginId 的 token 剩余有效时间 (单位: 秒)获取当前TokenValuegetTokenValueByLoginId(Object loginId) 获取指定账号id的tokenValuegetTokenValueByLoginId(Object loginId, String device) 获取指定账号id指定设备类型端的tokenValuegetTokenValueListByLoginId(Object loginId) 获取指定账号id的tokenValue集合getTokenValueListByLoginId(Object loginId, String device) 获取指定账号id指定设备类型端的tokenValue 集合获取当前TokenValue (不裁剪前缀)获取当前上下文的 TokenValue(如果获取不到则抛出异常)booleanhasElement(List<String> list, String element) 判断:集合中是否包含指定元素(模糊匹配)booleanhasPermission(Object loginId, String permission) 判断:指定账号id是否含有指定权限, 返回true或falsebooleanhasPermission(String permission) 判断:当前账号是否含有指定权限, 返回true或falsebooleanhasPermissionAnd(String... permissionArray) 判断:当前账号是否含有指定权限, [指定多个,必须全部具有]booleanhasPermissionOr(String... permissionArray) 判断:当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]boolean判断:指定账号是否含有指定角色标识, 返回true或falseboolean判断:当前账号是否拥有指定角色, 返回true或falsebooleanhasRoleAnd(String... roleArray) 判断:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]boolean判断:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]boolean判断:指定账号是否已被封禁 (true=已被封禁, false=未被封禁)boolean判断:指定账号的指定服务 是否已被封禁 (true=已被封禁, false=未被封禁)booleanisDisableLevel(Object loginId, int level) 判断:指定账号是否已被封禁到指定等级booleanisDisableLevel(Object loginId, String service, int level) 判断:指定账号的指定服务,是否已被封禁到指定等级booleanisLogin()当前会话是否已经登录boolean返回全局配置是否开启了Token 活跃校验booleanisSafe()当前会话 是否处于二级认证时间内boolean当前会话 是否处于二级认证时间内boolean指定 Token 是否处于二级认证时间内booleanisSwitch()当前是否正处于[身份临时切换]中booleanisValidLoginId(Object loginId) 判断一个 loginId 是否是有效的void踢人下线,根据账号idvoid踢人下线,根据账号id 和 设备类型voidkickoutByTokenValue(String tokenValue) 踢人下线,根据指定 Tokenvoid会话登录void会话登录,并指定是否 [记住我]void会话登录,并指定此次登录token的有效期, 单位:秒voidlogin(Object id, SaLoginModel loginModel) 会话登录,并指定所有登录参数Modelvoid会话登录,并指定登录设备类型voidlogout()会话注销void会话注销,根据账号idvoid会话注销,根据账号id 和 设备类型voidlogoutByMaxLoginCount(Object loginId, SaSession session, String device, int maxLoginCount) 会话注销,根据账号id 和 设备类型 和 最大同时在线数量voidlogoutByTokenValue(String tokenValue) 会话注销,根据指定 TokenvoidopenSafe(long safeTime) 在当前会话 开启二级认证void在当前会话 开启二级认证voidrenewTimeout(long timeout) 对当前 Token 的 timeout 值进行续期voidrenewTimeout(String tokenValue, long timeout) 对指定 Token 的 timeout 值进行续期void顶人下线,根据账号id 和 设备类型voidsaveTokenToIdMapping(String tokenValue, Object loginId, long timeout) 存储 Token-Id 映射searchSessionId(String keyword, int start, int size, boolean sortType) 根据条件查询SessionIdsearchTokenSessionId(String keyword, int start, int size, boolean sortType) 根据条件查询Token专属Session的IdsearchTokenValue(String keyword, int start, int size, boolean sortType) 根据条件查询Tokenprotected voidsetLastActivityToNow(String tokenValue) 写入指定token的 [最后操作时间] 为当前时间戳setLoginType(String loginType) 设置当前账号类型voidsetTokenValue(String tokenValue) 在当前会话写入当前TokenValuevoidsetTokenValue(String tokenValue, int cookieTimeout) 在当前会话写入当前TokenValuevoidsetTokenValue(String tokenValue, SaLoginModel loginModel) 在当前会话写入当前TokenValuevoidsetTokenValueToCookie(String tokenValue, int cookieTimeout) 将 Token 保存到 [Cookie] 里voidsetTokenValueToResponseHeader(String tokenValue) 将 Token 写入到 [响应头] 里voidsetTokenValueToStorage(String tokenValue) 将 Token 保存到 [Storage] 里splicingKeyDisable(Object loginId, String service) 拼接key: 账号封禁如果token为本次请求新创建的,则以此字符串为key存储在当前request中splicingKeyLastActivityTime(String tokenValue) 拼接key: 指定token的最后操作时间 持久化splicingKeySafe(String tokenValue, String service) 拼接key: 二级认证splicingKeySession(Object loginId) 拼接key: Session 持久化在进行身份切换时,使用的存储key拼接key:客户端 tokenNamesplicingKeyTokenSession(String tokenValue) 拼接key: tokenValue的Token-SessionsplicingKeyTokenValue(String tokenValue) 拼接key: tokenValue 持久化 token-idvoid临时切换身份为指定账号idvoidswitchTo(Object loginId, SaFunction function) 在一个代码段里方法内,临时切换身份为指定账号idvoiduntieDisable(Object loginId) 解封:指定账号voiduntieDisable(Object loginId, String... services) 解封:指定账号、指定服务void续签当前token:(将 [最后操作时间] 更新为当前时间戳)voidupdateLastActivityToNow(String tokenValue) 续签指定token:(将 [最后操作时间] 更新为当前时间戳)voidupdateTokenToIdMapping(String tokenValue, Object loginId) 更改 Token 指向的 账号Id 值
-
字段详细资料
-
loginType
账号类型,多账号体系时以此值区分,比如:login、user、admin
-
-
构造器详细资料
-
StpLogic
初始化StpLogic, 并指定账号类型- 参数:
loginType- 账号体系标识
-
-
方法详细资料
-
getLoginType
获取当前 StpLogic 的账号类型- 返回:
- See Note
-
setLoginType
设置当前账号类型- 参数:
loginType- loginType- 返回:
- 对象自身
-
getTokenName
返回token名称- 返回:
- 此StpLogic的token名称
-
createTokenValue
public String createTokenValue(Object loginId, String device, long timeout, Map<String, Object> extraData) 创建一个TokenValue- 参数:
loginId- loginIddevice- 设备类型timeout- 过期时间extraData- 扩展信息- 返回:
- 生成的tokenValue
-
setTokenValue
在当前会话写入当前TokenValue- 参数:
tokenValue- token值
-
setTokenValue
在当前会话写入当前TokenValue- 参数:
tokenValue- token值cookieTimeout- Cookie存活时间(秒)
-
setTokenValue
在当前会话写入当前TokenValue- 参数:
tokenValue- token值loginModel- 登录参数
-
setTokenValueToStorage
将 Token 保存到 [Storage] 里- 参数:
tokenValue- token值
-
setTokenValueToCookie
将 Token 保存到 [Cookie] 里- 参数:
tokenValue- token值cookieTimeout- Cookie存活时间(秒)
-
setTokenValueToResponseHeader
将 Token 写入到 [响应头] 里- 参数:
tokenValue- token值
-
getTokenValue
获取当前TokenValue- 返回:
- 当前tokenValue
-
getTokenValueNotCut
获取当前TokenValue (不裁剪前缀)- 返回:
- /
-
getTokenValueNotNull
获取当前上下文的 TokenValue(如果获取不到则抛出异常)- 返回:
- /
-
getTokenInfo
获取当前会话的Token信息- 返回:
- token信息
-
login
会话登录- 参数:
id- 账号id,建议的类型:(long | int | String)
-
login
会话登录,并指定登录设备类型- 参数:
id- 账号id,建议的类型:(long | int | String)device- 设备类型
-
login
会话登录,并指定是否 [记住我]- 参数:
id- 账号id,建议的类型:(long | int | String)isLastingCookie- 是否为持久Cookie
-
login
会话登录,并指定此次登录token的有效期, 单位:秒- 参数:
id- 账号id,建议的类型:(long | int | String)timeout- 此次登录token的有效期, 单位:秒
-
login
会话登录,并指定所有登录参数Model- 参数:
id- 登录id,建议的类型:(long | int | String)loginModel- 此次登录的参数Model
-
createLoginSession
创建指定账号id的登录会话- 参数:
id- 登录id,建议的类型:(long | int | String)- 返回:
- 返回会话令牌
-
createLoginSession
创建指定账号id的登录会话- 参数:
id- 登录id,建议的类型:(long | int | String)loginModel- 此次登录的参数Model- 返回:
- 返回会话令牌
-
distUsableToken
为指定账号id的登录操作,分配一个可用的 Token- 参数:
id- 账号idloginModel- 此次登录的参数Model- 返回:
- 返回 Token
-
logout
public void logout()会话注销 -
logout
会话注销,根据账号id- 参数:
loginId- 账号id
-
logout
会话注销,根据账号id 和 设备类型- 参数:
loginId- 账号iddevice- 设备类型 (填null代表注销所有设备类型)
-
logoutByMaxLoginCount
public void logoutByMaxLoginCount(Object loginId, SaSession session, String device, int maxLoginCount) 会话注销,根据账号id 和 设备类型 和 最大同时在线数量- 参数:
loginId- 账号idsession- 此账号的 Session 对象,可填写null,框架将自动获取device- 设备类型 (填null代表注销所有设备类型)maxLoginCount- 保留最近的几次登录
-
logoutByTokenValue
会话注销,根据指定 Token- 参数:
tokenValue- 指定token
-
kickout
踢人下线,根据账号id当对方再次访问系统时,会抛出NotLoginException异常,场景值=-5
- 参数:
loginId- 账号id
-
kickout
踢人下线,根据账号id 和 设备类型当对方再次访问系统时,会抛出NotLoginException异常,场景值=-5
- 参数:
loginId- 账号iddevice- 设备类型 (填null代表踢出所有设备类型)
-
kickoutByTokenValue
踢人下线,根据指定 Token当对方再次访问系统时,会抛出NotLoginException异常,场景值=-5
- 参数:
tokenValue- 指定token
-
replaced
顶人下线,根据账号id 和 设备类型当对方再次访问系统时,会抛出NotLoginException异常,场景值=-4
- 参数:
loginId- 账号iddevice- 设备类型 (填null代表顶替所有设备类型)
-
isLogin
public boolean isLogin()当前会话是否已经登录- 返回:
- 是否已登录
-
checkLogin
public void checkLogin()检验当前会话是否已经登录,如未登录,则抛出异常 -
getLoginId
获取当前会话账号id, 如果未登录,则抛出异常- 返回:
- 账号id
-
getLoginId
public <T> T getLoginId(T defaultValue) 获取当前会话账号id, 如果未登录,则返回默认值- 类型参数:
T- 返回类型- 参数:
defaultValue- 默认值- 返回:
- 登录id
-
getLoginIdDefaultNull
获取当前会话账号id, 如果未登录,则返回null- 返回:
- 账号id
-
getLoginIdAsString
获取当前会话账号id, 并转换为String类型- 返回:
- 账号id
-
getLoginIdAsInt
public int getLoginIdAsInt()获取当前会话账号id, 并转换为int类型- 返回:
- 账号id
-
getLoginIdAsLong
public long getLoginIdAsLong()获取当前会话账号id, 并转换为long类型- 返回:
- 账号id
-
getLoginIdByToken
获取指定Token对应的账号id,如果未登录,则返回 null- 参数:
tokenValue- token- 返回:
- 账号id
-
getLoginIdNotHandle
获取指定Token对应的账号id (不做任何特殊处理)- 参数:
tokenValue- token值- 返回:
- 账号id
-
getExtra
获取当前 Token 的扩展信息(此函数只在jwt模式下生效)- 参数:
key- 键值- 返回:
- 对应的扩展数据
-
getExtra
获取指定 Token 的扩展信息(此函数只在jwt模式下生效)- 参数:
tokenValue- 指定的 Token 值key- 键值- 返回:
- 对应的扩展数据
-
isValidLoginId
判断一个 loginId 是否是有效的- 参数:
loginId- 账号id- 返回:
- /
-
deleteTokenToIdMapping
删除 Token-Id 映射- 参数:
tokenValue- token值
-
updateTokenToIdMapping
更改 Token 指向的 账号Id 值- 参数:
tokenValue- token值loginId- 新的账号Id值
-
saveTokenToIdMapping
存储 Token-Id 映射- 参数:
tokenValue- token值loginId- 账号idtimeout- 会话有效期 (单位: 秒)
-
getSessionBySessionId
获取指定key的Session, 如果Session尚未创建,isCreate=是否新建并返回- 参数:
sessionId- SessionIdisCreate- 是否新建- 返回:
- Session对象
-
getSessionBySessionId
获取指定key的Session, 如果Session尚未创建,则返回null- 参数:
sessionId- SessionId- 返回:
- Session对象
-
getSessionByLoginId
获取指定账号id的User-Session, 如果Session尚未创建,isCreate=是否新建并返回- 参数:
loginId- 账号idisCreate- 是否新建- 返回:
- Session对象
-
getSessionByLoginId
获取指定账号id的User-Session,如果Session尚未创建,则新建并返回- 参数:
loginId- 账号id- 返回:
- Session对象
-
getSession
获取当前User-Session, 如果Session尚未创建,isCreate=是否新建并返回- 参数:
isCreate- 是否新建- 返回:
- Session对象
-
getSession
获取当前User-Session,如果Session尚未创建,则新建并返回- 返回:
- Session对象
-
getTokenSessionByToken
获取指定Token-Session,如果Session尚未创建,isCreate代表是否新建并返回- 参数:
tokenValue- token值isCreate- 是否新建- 返回:
- session对象
-
getTokenSessionByToken
获取指定Token-Session,如果Session尚未创建,则新建并返回- 参数:
tokenValue- Token值- 返回:
- Session对象
-
getTokenSession
获取当前Token-Session,如果Session尚未创建,isCreate代表是否新建并返回- 参数:
isCreate- 是否新建- 返回:
- Session对象
-
getTokenSession
获取当前Token-Session,如果Session尚未创建,则新建并返回- 返回:
- Session对象
-
getAnonTokenSession
获取当前匿名 Token-Session (可在未登录情况下使用的Token-Session)- 参数:
isCreate- 在 Token-Session 尚未创建的情况是否新建并返回- 返回:
- Token-Session 对象
-
getAnonTokenSession
获取当前匿名 Token-Session (可在未登录情况下使用的Token-Session)- 返回:
- Token-Session 对象
-
deleteTokenSession
删除Token-Session- 参数:
tokenValue- token值
-
setLastActivityToNow
写入指定token的 [最后操作时间] 为当前时间戳- 参数:
tokenValue- 指定token
-
clearLastActivity
清除指定 Token 的 [最后操作时间记录]- 参数:
tokenValue- 指定token
-
checkActivityTimeout
检查指定token 是否已经[临时过期],如果已经过期则抛出异常- 参数:
tokenValue- 指定token
-
checkActivityTimeout
public void checkActivityTimeout()检查当前token 是否已经[临时过期],如果已经过期则抛出异常 -
updateLastActivityToNow
续签指定token:(将 [最后操作时间] 更新为当前时间戳)- 参数:
tokenValue- 指定token
-
updateLastActivityToNow
public void updateLastActivityToNow()续签当前token:(将 [最后操作时间] 更新为当前时间戳)请注意: 即使token已经 [临时过期] 也可续签成功, 如果此场景下需要提示续签失败,可在此之前调用 checkActivityTimeout() 强制检查是否过期即可
-
getTokenTimeout
public long getTokenTimeout()获取当前登录者的 token 剩余有效时间 (单位: 秒)- 返回:
- token剩余有效时间
-
getTokenTimeoutByLoginId
获取指定 loginId 的 token 剩余有效时间 (单位: 秒)- 参数:
loginId- 指定loginId- 返回:
- token剩余有效时间
-
getSessionTimeout
public long getSessionTimeout()获取当前登录者的 User-Session 剩余有效时间 (单位: 秒)- 返回:
- token剩余有效时间
-
getSessionTimeoutByLoginId
获取指定 loginId 的 User-Session 剩余有效时间 (单位: 秒)- 参数:
loginId- 指定loginId- 返回:
- token剩余有效时间
-
getTokenSessionTimeout
public long getTokenSessionTimeout()获取当前 Token-Session 剩余有效时间 (单位: 秒)- 返回:
- token剩余有效时间
-
getTokenSessionTimeoutByTokenValue
获取指定 Token-Session 剩余有效时间 (单位: 秒)- 参数:
tokenValue- 指定token- 返回:
- token剩余有效时间
-
getTokenActivityTimeout
public long getTokenActivityTimeout()获取当前 token [临时过期] 剩余有效时间 (单位: 秒)- 返回:
- token [临时过期] 剩余有效时间
-
getTokenActivityTimeoutByToken
获取指定 token [临时过期] 剩余有效时间 (单位: 秒)- 参数:
tokenValue- 指定token- 返回:
- token[临时过期]剩余有效时间
-
renewTimeout
public void renewTimeout(long timeout) 对当前 Token 的 timeout 值进行续期- 参数:
timeout- 要修改成为的有效时间 (单位: 秒)
-
renewTimeout
对指定 Token 的 timeout 值进行续期- 参数:
tokenValue- 指定tokentimeout- 要修改成为的有效时间 (单位: 秒)
-
getRoleList
获取:当前账号的角色集合- 返回:
- /
-
getRoleList
获取:指定账号的角色集合- 参数:
loginId- 指定账号id- 返回:
- /
-
hasRole
判断:当前账号是否拥有指定角色, 返回true或false- 参数:
role- 角色- 返回:
- /
-
hasRole
判断:指定账号是否含有指定角色标识, 返回true或false- 参数:
loginId- 账号idrole- 角色标识- 返回:
- 是否含有指定角色标识
-
hasRoleAnd
判断:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]- 参数:
roleArray- 角色标识数组- 返回:
- true或false
-
hasRoleOr
判断:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]- 参数:
roleArray- 角色标识数组- 返回:
- true或false
-
checkRole
校验:当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException- 参数:
role- 角色标识
-
checkRoleAnd
校验:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]- 参数:
roleArray- 角色标识数组
-
checkRoleOr
校验:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]- 参数:
roleArray- 角色标识数组
-
getPermissionList
获取:当前账号的权限码集合- 返回:
- /
-
getPermissionList
获取:指定账号的权限码集合- 参数:
loginId- 指定账号id- 返回:
- /
-
hasPermission
判断:当前账号是否含有指定权限, 返回true或false- 参数:
permission- 权限码- 返回:
- 是否含有指定权限
-
hasPermission
判断:指定账号id是否含有指定权限, 返回true或false- 参数:
loginId- 账号idpermission- 权限码- 返回:
- 是否含有指定权限
-
hasPermissionAnd
判断:当前账号是否含有指定权限, [指定多个,必须全部具有]- 参数:
permissionArray- 权限码数组- 返回:
- true 或 false
-
hasPermissionOr
判断:当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]- 参数:
permissionArray- 权限码数组- 返回:
- true 或 false
-
checkPermission
校验:当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionException- 参数:
permission- 权限码
-
checkPermissionAnd
校验:当前账号是否含有指定权限 [指定多个,必须全部验证通过]- 参数:
permissionArray- 权限码数组
-
checkPermissionOr
校验:当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]- 参数:
permissionArray- 权限码数组
-
getTokenValueByLoginId
获取指定账号id的tokenValue在配置为允许并发登录时,此方法只会返回队列的最后一个token, 如果你需要返回此账号id的所有token,请调用 getTokenValueListByLoginId
- 参数:
loginId- 账号id- 返回:
- token值
-
getTokenValueByLoginId
获取指定账号id指定设备类型端的tokenValue在配置为允许并发登录时,此方法只会返回队列的最后一个token, 如果你需要返回此账号id的所有token,请调用 getTokenValueListByLoginId
- 参数:
loginId- 账号iddevice- 设备类型,填null代表不限设备类型- 返回:
- token值
-
getTokenValueListByLoginId
获取指定账号id的tokenValue集合- 参数:
loginId- 账号id- 返回:
- 此loginId的所有相关token
-
getTokenValueListByLoginId
获取指定账号id指定设备类型端的tokenValue 集合- 参数:
loginId- 账号iddevice- 设备类型,填null代表不限设备类型- 返回:
- 此loginId的所有相关token
-
getLoginDevice
返回当前会话的登录设备类型- 返回:
- 当前令牌的登录设备类型
-
searchTokenValue
根据条件查询Token- 参数:
keyword- 关键字start- 开始处索引size- 获取数量 (-1代表一直获取到末尾)sortType- 排序类型(true=正序,false=反序)- 返回:
- token集合
-
searchSessionId
根据条件查询SessionId- 参数:
keyword- 关键字start- 开始处索引size- 获取数量 (-1代表一直获取到末尾)sortType- 排序类型(true=正序,false=反序)- 返回:
- sessionId集合
-
searchTokenSessionId
根据条件查询Token专属Session的Id- 参数:
keyword- 关键字start- 开始处索引size- 获取数量 (-1代表一直获取到末尾)sortType- 排序类型(true=正序,false=反序)- 返回:
- sessionId集合
-
checkByAnnotation
根据注解(@SaCheckLogin)鉴权- 参数:
at- 注解对象
-
checkByAnnotation
根据注解(@SaCheckRole)鉴权- 参数:
at- 注解对象
-
checkByAnnotation
根据注解(@SaCheckPermission)鉴权- 参数:
at- 注解对象
-
checkByAnnotation
根据注解(@SaCheckSafe)鉴权- 参数:
at- 注解对象
-
checkByAnnotation
根据注解(@SaCheckDisable)鉴权- 参数:
at- 注解对象
-
disable
封禁:指定账号此方法不会直接将此账号id踢下线,如需封禁后立即掉线,请追加调用 StpUtil.logout(id)
- 参数:
loginId- 指定账号idtime- 封禁时间, 单位: 秒 (-1=永久封禁)
-
isDisable
判断:指定账号是否已被封禁 (true=已被封禁, false=未被封禁)- 参数:
loginId- 账号id- 返回:
- /
-
checkDisable
校验:指定账号是否已被封禁,如果被封禁则抛出异常- 参数:
loginId- 账号id
-
getDisableTime
获取:指定账号剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁)- 参数:
loginId- 账号id- 返回:
- /
-
untieDisable
解封:指定账号- 参数:
loginId- 账号id
-
disable
封禁:指定账号的指定服务此方法不会直接将此账号id踢下线,如需封禁后立即掉线,请追加调用 StpUtil.logout(id)
- 参数:
loginId- 指定账号idservice- 指定服务time- 封禁时间, 单位: 秒 (-1=永久封禁)
-
isDisable
判断:指定账号的指定服务 是否已被封禁 (true=已被封禁, false=未被封禁)- 参数:
loginId- 账号idservice- 指定服务- 返回:
- /
-
checkDisable
校验:指定账号 指定服务 是否已被封禁,如果被封禁则抛出异常- 参数:
loginId- 账号idservices- 指定服务,可以指定多个
-
getDisableTime
获取:指定账号 指定服务 剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁)- 参数:
loginId- 账号idservice- 指定服务- 返回:
- see note
-
untieDisable
解封:指定账号、指定服务- 参数:
loginId- 账号idservices- 指定服务,可以指定多个
-
disableLevel
封禁:指定账号,并指定封禁等级- 参数:
loginId- 指定账号idlevel- 指定封禁等级time- 封禁时间, 单位: 秒 (-1=永久封禁)
-
disableLevel
封禁:指定账号的指定服务,并指定封禁等级- 参数:
loginId- 指定账号idservice- 指定封禁服务level- 指定封禁等级time- 封禁时间, 单位: 秒 (-1=永久封禁)
-
isDisableLevel
判断:指定账号是否已被封禁到指定等级- 参数:
loginId- 指定账号idlevel- 指定封禁等级- 返回:
- /
-
isDisableLevel
判断:指定账号的指定服务,是否已被封禁到指定等级- 参数:
loginId- 指定账号idservice- 指定封禁服务level- 指定封禁等级- 返回:
- /
-
checkDisableLevel
校验:指定账号是否已被封禁到指定等级(如果已经达到,则抛出异常)- 参数:
loginId- 指定账号idlevel- 封禁等级 (只有 封禁等级 ≥ 此值 才会抛出异常)
-
checkDisableLevel
校验:指定账号的指定服务,是否已被封禁到指定等级(如果已经达到,则抛出异常)- 参数:
loginId- 指定账号idservice- 指定封禁服务level- 封禁等级 (只有 封禁等级 ≥ 此值 才会抛出异常)
-
getDisableLevel
获取:指定账号被封禁的等级,如果未被封禁则返回-2- 参数:
loginId- 指定账号id- 返回:
- /
-
getDisableLevel
获取:指定账号的 指定服务 被封禁的等级,如果未被封禁则返回-2- 参数:
loginId- 指定账号idservice- 指定封禁服务- 返回:
- /
-
switchTo
临时切换身份为指定账号id- 参数:
loginId- 指定loginId
-
endSwitch
public void endSwitch()结束临时切换身份 -
isSwitch
public boolean isSwitch()当前是否正处于[身份临时切换]中- 返回:
- 是否正处于[身份临时切换]中
-
getSwitchLoginId
返回[身份临时切换]的loginId- 返回:
- 返回[身份临时切换]的loginId
-
switchTo
在一个代码段里方法内,临时切换身份为指定账号id- 参数:
loginId- 指定账号idfunction- 要执行的方法
-
openSafe
public void openSafe(long safeTime) 在当前会话 开启二级认证- 参数:
safeTime- 维持时间 (单位: 秒)
-
openSafe
在当前会话 开启二级认证- 参数:
service- 业务标识safeTime- 维持时间 (单位: 秒)
-
isSafe
public boolean isSafe()当前会话 是否处于二级认证时间内- 返回:
- true=二级认证已通过, false=尚未进行二级认证或认证已超时
-
isSafe
当前会话 是否处于二级认证时间内- 参数:
service- 业务标识- 返回:
- true=二级认证已通过, false=尚未进行二级认证或认证已超时
-
isSafe
指定 Token 是否处于二级认证时间内- 参数:
tokenValue- Token 值service- 业务标识- 返回:
- true=二级认证已通过, false=尚未进行二级认证或认证已超时
-
checkSafe
public void checkSafe()检查当前会话是否已通过二级认证,如未通过则抛出异常 -
checkSafe
检查当前会话是否已通过二级认证,如未通过则抛出异常- 参数:
service- 业务标识
-
getSafeTime
public long getSafeTime()获取当前会话的二级认证剩余有效时间 (单位: 秒, 返回-2代表尚未通过二级认证)- 返回:
- 剩余有效时间
-
getSafeTime
获取当前会话的二级认证剩余有效时间 (单位: 秒, 返回-2代表尚未通过二级认证)- 参数:
service- 业务标识- 返回:
- 剩余有效时间
-
closeSafe
public void closeSafe()在当前会话 结束二级认证 -
closeSafe
在当前会话 结束二级认证- 参数:
service- 业务标识
-
splicingKeyTokenName
拼接key:客户端 tokenName- 返回:
- key
-
splicingKeyTokenValue
拼接key: tokenValue 持久化 token-id- 参数:
tokenValue- token值- 返回:
- key
-
splicingKeySession
拼接key: Session 持久化- 参数:
loginId- 账号id- 返回:
- key
-
splicingKeyTokenSession
拼接key: tokenValue的Token-Session- 参数:
tokenValue- token值- 返回:
- key
-
splicingKeyLastActivityTime
拼接key: 指定token的最后操作时间 持久化- 参数:
tokenValue- token值- 返回:
- key
-
splicingKeySwitch
在进行身份切换时,使用的存储key- 返回:
- key
-
splicingKeyJustCreatedSave
如果token为本次请求新创建的,则以此字符串为key存储在当前request中- 返回:
- key
-
splicingKeyDisable
拼接key: 账号封禁- 参数:
loginId- 账号idservice- 具体封禁的服务- 返回:
- key
-
splicingKeySafe
拼接key: 二级认证- 参数:
tokenValue- 要认证的 Tokenservice- 要认证的业务标识- 返回:
- key
-
getConfig
返回全局配置对象- 返回:
- /
-
isOpenActivityCheck
public boolean isOpenActivityCheck()返回全局配置是否开启了Token 活跃校验- 返回:
- /
-
getConfigOfCookieTimeout
public int getConfigOfCookieTimeout()返回全局配置的 Cookie 保存时长,单位:秒 (根据全局 timeout 计算)- 返回:
- Cookie 应该保存的时长
-
getSaTokenDao
返回持久化对象- 返回:
- /
-
hasElement
判断:集合中是否包含指定元素(模糊匹配)- 参数:
list- 集合element- 元素- 返回:
- /
-