public class StpLogic
extends java.lang.Object
(stp = sa-token-permission 的缩写 )
| 限定符和类型 | 字段和说明 |
|---|---|
java.lang.String |
loginKey
持久化的key前缀,多账号认证体系时以此值区分,比如:login、user、admin
|
| 构造器和说明 |
|---|
StpLogic(java.lang.String loginKey)
初始化StpLogic, 并制定loginKey
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
checkActivityTimeout()
检查当前token 是否已经[临时过期],如果已经过期则抛出异常
|
void |
checkActivityTimeout(java.lang.String tokenValue)
检查指定token 是否已经[临时过期],如果已经过期则抛出异常
|
void |
checkLogin()
检验当前会话是否已经登录,如未登录,则抛出异常
|
void |
checkPermission(java.lang.Object pcode)
当前账号是否含有指定权限 , 没有就抛出异常
|
void |
checkPermissionAnd(java.lang.Object... pcodeArray)
当前账号是否含有指定权限 , 【指定多个,必须全都有】
|
void |
checkPermissionOr(java.lang.Object... pcodeArray)
当前账号是否含有指定权限 , 【指定多个,有一个就可以了】
|
protected void |
clearLastActivity(java.lang.String tokenValue)
清除指定token的 [最后操作时间]
|
java.lang.String |
getKeyLastActivityTime(java.lang.String tokenValue)
获取key: 指定token的最后操作时间 持久化
|
java.lang.String |
getKeyLoginId(java.lang.Object loginId)
获取key: id 持久化
|
java.lang.String |
getKeySession(java.lang.Object loginId)
获取key: session 持久化
|
java.lang.String |
getKeyTokenName()
获取key:客户端 tokenName
|
java.lang.String |
getKeyTokenValue(java.lang.String tokenValue)
获取key: tokenValue 持久化
|
java.lang.Object |
getLoginId()
获取当前会话登录id, 如果未登录,则抛出异常
|
<T> T |
getLoginId(T defaultValue)
获取当前会话登录id, 如果未登录,则返回默认值
|
int |
getLoginIdAsInt()
获取当前会话登录id, 并转换为int
|
long |
getLoginIdAsLong()
获取当前会话登录id, 并转换为long
|
java.lang.String |
getLoginIdAsString()
获取当前会话登录id, 并转换为String
|
java.lang.Object |
getLoginIdByToken(java.lang.String tokenValue)
获取指定token对应的登录id,如果未登录,则返回 null
|
java.lang.Object |
getLoginIdDefaultNull()
获取当前会话登录id, 如果未登录,则返回null
|
java.lang.String |
getLoginKey()
获取当前StpLogin的loginKey
|
SaSession |
getSession()
获取当前会话的session
|
SaSession |
getSession(boolean isCreate)
获取当前会话的session, 如果session尚未创建,isCreate=是否新建并返回
|
SaSession |
getSessionByLoginId(java.lang.Object loginId)
获取指定loginId的session
|
SaSession |
getSessionByLoginId(java.lang.Object loginId,
boolean isCreate)
获取指定loginId的session, 如果没有,isCreate=是否新建并返回
|
protected SaSession |
getSessionBySessionId(java.lang.String sessionId,
boolean isCreate)
获取指定key的session, 如果session尚未创建,isCreate=是否新建并返回
|
long |
getSessionTimeout()
获取当前登录者的Session剩余有效时间 (单位: 秒)
|
long |
getSessionTimeoutByLoginId(java.lang.Object loginId)
获取指定loginId的Session剩余有效时间 (单位: 秒)
|
long |
getTokenActivityTimeout()
获取当前token[临时过期]剩余有效时间 (单位: 秒)
|
long |
getTokenActivityTimeoutByToken(java.lang.String tokenValue)
获取指定token[临时过期]剩余有效时间 (单位: 秒)
|
SaTokenInfo |
getTokenInfo()
获取当前会话的token信息
|
java.lang.String |
getTokenName()
返回token名称
|
long |
getTokenTimeout()
获取当前登录者的token剩余有效时间 (单位: 秒)
|
long |
getTokenTimeoutByLoginId(java.lang.Object loginId)
获取指定loginId的token剩余有效时间 (单位: 秒)
|
java.lang.String |
getTokenValue()
获取当前tokenValue
|
java.lang.String |
getTokenValueByLoginId(java.lang.Object loginId)
获取指定loginId的tokenValue
|
boolean |
hasPermission(java.lang.Object pcode)
当前会话是否含有指定权限
|
boolean |
hasPermission(java.lang.Object loginId,
java.lang.Object pcode)
指定loginId是否含有指定权限
|
boolean |
isLogin()
获取当前会话是否已经登录
|
void |
kickoutByLoginId(java.lang.Object loginId)
指定loginId的会话注销登录(踢人下线)
|
void |
logout()
当前会话注销登录
|
void |
logoutByLoginId(java.lang.Object loginId)
指定loginId的会话注销登录(正常注销下线)
|
java.lang.String |
randomTokenValue(java.lang.Object loginId)
随机生成一个tokenValue
|
protected void |
setLastActivityToNow(java.lang.String tokenValue)
写入指定token的 [最后操作时间] 为当前时间戳
|
void |
setLoginId(java.lang.Object loginId)
在当前会话上登录id
|
void |
updateLastActivityToNow()
续签当前token:(将 [最后操作时间] 更新为当前时间戳)
请注意: 即时token已经 [临时过期] 也可续签成功,
如果此场景下需要提示续签失败,可在此之前调用 checkActivityTimeout() 强制检查是否过期即可
|
void |
updateLastActivityToNow(java.lang.String tokenValue)
续签指定token:(将 [最后操作时间] 更新为当前时间戳)
|
public StpLogic(java.lang.String loginKey)
loginKey - 账号标识public java.lang.String getTokenName()
public java.lang.String randomTokenValue(java.lang.Object loginId)
loginId - loginIdpublic java.lang.String getTokenValue()
public java.lang.String getTokenValueByLoginId(java.lang.Object loginId)
loginId - .public java.lang.String getLoginKey()
public SaTokenInfo getTokenInfo()
public void setLoginId(java.lang.Object loginId)
loginId - 登录id ,建议的类型:(long | int | String)public void logout()
public void logoutByLoginId(java.lang.Object loginId)
loginId - 账号idpublic void kickoutByLoginId(java.lang.Object loginId)
loginId - 账号idpublic boolean isLogin()
public void checkLogin()
public java.lang.Object getLoginId()
public <T> T getLoginId(T defaultValue)
T - 返回类型defaultValue - 默认值public java.lang.Object getLoginIdDefaultNull()
public java.lang.String getLoginIdAsString()
public int getLoginIdAsInt()
public long getLoginIdAsLong()
public java.lang.Object getLoginIdByToken(java.lang.String tokenValue)
tokenValue - tokenprotected SaSession getSessionBySessionId(java.lang.String sessionId, boolean isCreate)
sessionId - .isCreate - .public SaSession getSessionByLoginId(java.lang.Object loginId, boolean isCreate)
loginId - 登录idisCreate - 是否新建public SaSession getSessionByLoginId(java.lang.Object loginId)
loginId - .public SaSession getSession(boolean isCreate)
isCreate - 是否新建public SaSession getSession()
protected void setLastActivityToNow(java.lang.String tokenValue)
tokenValue - 指定tokenprotected void clearLastActivity(java.lang.String tokenValue)
tokenValue - 指定tokenpublic void checkActivityTimeout(java.lang.String tokenValue)
tokenValue - 指定tokenpublic void checkActivityTimeout()
public void updateLastActivityToNow(java.lang.String tokenValue)
tokenValue - 指定tokenpublic void updateLastActivityToNow()
public long getTokenTimeout()
public long getTokenTimeoutByLoginId(java.lang.Object loginId)
loginId - 指定loginIdpublic long getSessionTimeout()
public long getSessionTimeoutByLoginId(java.lang.Object loginId)
loginId - 指定loginIdpublic long getTokenActivityTimeout()
public long getTokenActivityTimeoutByToken(java.lang.String tokenValue)
tokenValue - 指定tokenpublic boolean hasPermission(java.lang.Object loginId,
java.lang.Object pcode)
loginId - .pcode - .public boolean hasPermission(java.lang.Object pcode)
pcode - .public void checkPermission(java.lang.Object pcode)
pcode - .public void checkPermissionAnd(java.lang.Object... pcodeArray)
pcodeArray - .public void checkPermissionOr(java.lang.Object... pcodeArray)
pcodeArray - .public java.lang.String getKeyTokenName()
public java.lang.String getKeyTokenValue(java.lang.String tokenValue)
tokenValue - .public java.lang.String getKeyLoginId(java.lang.Object loginId)
loginId - .public java.lang.String getKeySession(java.lang.Object loginId)
loginId - .public java.lang.String getKeyLastActivityTime(java.lang.String tokenValue)
tokenValue - tokenCopyright © 2020. All Rights Reserved.