新增 Thymeleaf 标签方言插件

This commit is contained in:
click33
2021-10-01 22:54:56 +08:00
parent f260f6028a
commit d107b6b341
23 changed files with 723 additions and 41 deletions

View File

@@ -2,11 +2,13 @@ package com.pj.satoken.at;
import java.util.List;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.fun.SaFunction;
import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.stp.StpUtil;
/**
* Sa-Token 权限认证工具类
@@ -32,6 +34,16 @@ public class StpUserUtil {
return stpLogic.getLoginType();
}
/**
* 重置 StpLogic 对象
* @param stpLogic /
*/
public static void setStpLogic(StpLogic stpLogic) {
StpUtil.stpLogic = stpLogic;
// 防止自定义 stpLogic 被覆盖
SaManager.putStpLogic(stpLogic);
}
// =================== 获取token 相关 ===================
@@ -136,7 +148,7 @@ public class StpUserUtil {
}
/**
* 注销会话,根据指定 Token
* 会话注销,根据指定 Token
*
* @param tokenValue 指定token
*/
@@ -264,7 +276,7 @@ public class StpUserUtil {
}
// =================== session相关 ===================
// =================== User-Session 相关 ===================
/**
* 获取指定账号id的Session, 如果Session尚未创建isCreate=是否新建并返回
@@ -312,7 +324,7 @@ public class StpUserUtil {
}
// =================== token专属session ===================
// =================== Token-Session 相关 ===================
/**
* 获取指定Token-Session如果Session尚未创建则新建并返回
@@ -354,7 +366,7 @@ public class StpUserUtil {
// =================== 过期时间相关 ===================
/**
* 获取当前登录者的token剩余有效时间 (单位: 秒)
* 获取当前登录者的 token 剩余有效时间 (单位: 秒)
* @return token剩余有效时间
*/
public static long getTokenTimeout() {
@@ -362,7 +374,7 @@ public class StpUserUtil {
}
/**
* 获取当前登录者的Session剩余有效时间 (单位: 秒)
* 获取当前登录者的 User-Session 剩余有效时间 (单位: 秒)
* @return token剩余有效时间
*/
public static long getSessionTimeout() {
@@ -370,7 +382,7 @@ public class StpUserUtil {
}
/**
* 获取当前token的专属Session剩余有效时间 (单位: 秒)
* 获取当前 Token-Session 剩余有效时间 (单位: 秒)
* @return token剩余有效时间
*/
public static long getTokenSessionTimeout() {
@@ -378,8 +390,8 @@ public class StpUserUtil {
}
/**
* 获取当前token[临时过期]剩余有效时间 (单位: 秒)
* @return token[临时过期]剩余有效时间
* 获取当前 token [临时过期] 剩余有效时间 (单位: 秒)
* @return token [临时过期] 剩余有效时间
*/
public static long getTokenActivityTimeout() {
return stpLogic.getTokenActivityTimeout();
@@ -390,7 +402,7 @@ public class StpUserUtil {
// =================== 角色验证操作 ===================
/**
* 指定账号id是否含有角色标识, 返回true或false
* 判断:指定账号id是否含有角色标识, 返回true或false
* @param loginId 账号id
* @param role 角色标识
* @return 是否含有指定角色标识
@@ -400,16 +412,34 @@ public class StpUserUtil {
}
/**
* 当前账号是否含有指定角色标识, 返回true或false
* 判断:当前账号是否含有指定角色标识, 返回true或false
* @param role 角色标识
* @return 是否含有指定角色标识
*/
public static boolean hasRole(String role) {
return stpLogic.hasRole(role);
}
/**
* 当前账号是否含有指定角色标识, 如果验证通过,则抛出异常: NotRoleException
* 判断:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]
* @param roleArray 角色标识数组
* @return true或false
*/
public static boolean hasRoleAnd(String... roleArray){
return stpLogic.hasRoleAnd(roleArray);
}
/**
* 判断:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]
* @param roleArray 角色标识数组
* @return true或false
*/
public static boolean hasRoleOr(String... roleArray){
return stpLogic.hasRoleOr(roleArray);
}
/**
* 校验:当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException
* @param role 角色标识
*/
public static void checkRole(String role) {
@@ -417,7 +447,7 @@ public class StpUserUtil {
}
/**
* 当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]
* 校验:当前账号是否含有指定角色标识 [指定多个,必须全部验证通过]
* @param roleArray 角色标识数组
*/
public static void checkRoleAnd(String... roleArray){
@@ -425,18 +455,27 @@ public class StpUserUtil {
}
/**
* 当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]
* 校验:当前账号是否含有指定角色标识 [指定多个,只要其一验证通过即可]
* @param roleArray 角色标识数组
*/
public static void checkRoleOr(String... roleArray){
stpLogic.checkRoleOr(roleArray);
}
// --
/**
* 返回当前账号所拥有的角色标识集合
* @return /
*/
public static List<String> getRoleList() {
return stpLogic.getRoleList();
}
// =================== 权限验证操作 ===================
/**
* 指定账号id是否含有指定权限, 返回true或false
* 判断:指定账号id是否含有指定权限, 返回true或false
* @param loginId 账号id
* @param permission 权限码
* @return 是否含有指定权限
@@ -446,7 +485,7 @@ public class StpUserUtil {
}
/**
* 当前账号是否含有指定权限, 返回true或false
* 判断:当前账号是否含有指定权限, 返回true或false
* @param permission 权限码
* @return 是否含有指定权限
*/
@@ -455,7 +494,25 @@ public class StpUserUtil {
}
/**
* 当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionException
* 判断:当前账号是否含有指定权限, [指定多个,必须全部具有]
* @param permissionArray 权限码数组
* @return true 或 false
*/
public static boolean hasPermissionAnd(String... permissionArray){
return stpLogic.hasPermissionAnd(permissionArray);
}
/**
* 判断:当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]
* @param permissionArray 权限码数组
* @return true 或 false
*/
public static boolean hasPermissionOr(String... permissionArray){
return stpLogic.hasPermissionOr(permissionArray);
}
/**
* 校验:当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionException
* @param permission 权限码
*/
public static void checkPermission(String permission) {
@@ -463,7 +520,7 @@ public class StpUserUtil {
}
/**
* 当前账号是否含有指定权限 [指定多个,必须全部验证通过]
* 校验:当前账号是否含有指定权限 [指定多个,必须全部验证通过]
* @param permissionArray 权限码数组
*/
public static void checkPermissionAnd(String... permissionArray) {
@@ -471,13 +528,22 @@ public class StpUserUtil {
}
/**
* 当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]
* 校验:当前账号是否含有指定权限 [指定多个,只要其一验证通过即可]
* @param permissionArray 权限码数组
*/
public static void checkPermissionOr(String... permissionArray) {
stpLogic.checkPermissionOr(permissionArray);
}
// --
/**
* 返回当前账号所拥有的权限码集合
* @return /
*/
public static List<String> getPermissionList() {
return stpLogic.getPermissionList();
}
// =================== id 反查token 相关操作 ===================
@@ -687,6 +753,7 @@ public class StpUserUtil {
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.getLoginType() ,使用方式保持不变 </h1>
*
* 获取当前StpLogin的loginKey
* @return 当前StpLogin的loginKey
*/
@@ -697,6 +764,7 @@ public class StpUserUtil {
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.login() ,使用方式保持不变 </h1>
*
* 在当前会话上登录id
* @param loginId 登录id建议的类型long | int | String
*/
@@ -707,6 +775,7 @@ public class StpUserUtil {
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.login() ,使用方式保持不变 </h1>
*
* 在当前会话上登录id, 并指定登录设备
* @param loginId 登录id建议的类型long | int | String
* @param device 设备标识
@@ -718,6 +787,7 @@ public class StpUserUtil {
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.login() ,使用方式保持不变 </h1>
*
* 在当前会话上登录id, 并指定登录设备
* @param loginId 登录id建议的类型long | int | String
* @param isLastingCookie 是否为持久Cookie
@@ -729,6 +799,7 @@ public class StpUserUtil {
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.login() ,使用方式保持不变 </h1>
*
* 在当前会话上登录id, 并指定所有登录参数Model
* @param loginId 登录id建议的类型long | int | String
* @param loginModel 此次登录的参数Model
@@ -738,4 +809,27 @@ public class StpUserUtil {
stpLogic.login(loginId, loginModel);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.kickout() ,使用方式保持不变 </h1>
*
* 会话注销根据账号id (踢人下线)
* <p> 当对方再次访问系统时会抛出NotLoginException异常场景值=-2
* @param loginId 账号id
*/
public static void logoutByLoginId(Object loginId) {
stpLogic.kickout(loginId);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.kickout() ,使用方式保持不变 </h1>
*
* 会话注销根据账号id and 设备标识 (踢人下线)
* <p> 当对方再次访问系统时会抛出NotLoginException异常场景值=-2 </p>
* @param loginId 账号id
* @param device 设备标识 (填null代表所有注销设备)
*/
public static void logoutByLoginId(Object loginId, String device) {
stpLogic.kickout(loginId, device);
}
}