完善注释

This commit is contained in:
shengzhang
2020-12-26 20:54:15 +08:00
parent 97ad4a783b
commit 6277a1841b
29 changed files with 285 additions and 258 deletions

View File

@@ -18,7 +18,7 @@
<!-- 所有模块 -->
<modules>
<module>sp-token-core</module>
<module>sa-token-core</module>
<module>sa-token-spring-boot-starter</module>
</modules>

View File

@@ -15,7 +15,7 @@ import cn.dev33.satoken.stp.StpInterfaceDefaultImpl;
import cn.dev33.satoken.util.SaTokenInsideUtil;
/**
* 管理sa-token所有对象
* 管理sa-token所有接口对象
* @author kong
*
*/

View File

@@ -1,12 +1,16 @@
package cn.dev33.satoken.action;
/**
* sa-token内置操作接口
* @author kong
*
*/
public interface SaTokenAction {
/**
* 生成一个token
* @param loginId 账号id
* @param loginKey 登录标识key
* @param loginKey 账号标识key
* @return 一个token
*/
public String createToken(Object loginId, String loginKey);

View File

@@ -40,11 +40,11 @@ public class SaTokenActionDefaultImpl implements SaTokenAction {
else if(tokenStyle.equals("random-128")) {
return SaTokenInsideUtil.getRandomString(128);
}
// tik风格
// tik风格 (2_14_16)
else if(tokenStyle.equals("tik")) {
return SaTokenInsideUtil.getRandomString(2) + "_" + SaTokenInsideUtil.getRandomString(14) + "_" + SaTokenInsideUtil.getRandomString(16) + "__";
}
// 默认
// 默认还是uuid
else {
return UUID.randomUUID().toString();
}

View File

@@ -7,6 +7,7 @@ import java.lang.annotation.Target;
/**
* 标注一个路由方法,当前会话必须已登录才能通过
* <p> 可标注在类上,其效果等同于标注在此类的所有方法上
* @author kong
*
*/

View File

@@ -7,6 +7,7 @@ import java.lang.annotation.Target;
/**
* 标注一个路由方法,当前会话必须具有指定权限才可以通过
* <p> 可标注在类上,其效果等同于标注在此类的所有方法上
* @author kong
*
*/
@@ -15,26 +16,26 @@ import java.lang.annotation.Target;
public @interface SaCheckPermission {
/**
* 权限码数组 String类型
* @return .
* 需要验证的权限码
* @return 需要验证的权限码
*/
String [] value() default {};
/**
* 权限码数组 int类型
* @return .
* 需要验证的权限码 (int类型)
* @return 需要验证的权限码 (int类型)
*/
int [] valueInt() default {};
/**
* 权限码数组 long类型
* @return .
* 需要验证的权限码 (long类型)
* @return 需要验证的权限码 (long类型)
*/
long [] valueLong() default {};
/**
* 是否属于and型验证true=必须全部具有false=只要具有一个就可以通过
* @return .
* @return 是否属于and型验证
*/
boolean isAnd() default true;

View File

@@ -1,22 +1,56 @@
package cn.dev33.satoken.config;
/**
* sa-token 配置类
* sa-token 配置类Model
* @author kong
*
*/
public class SaTokenConfig {
private String tokenName = "satoken"; // token名称 (同时也是cookie名称)
private long timeout = 30 * 24 * 60 * 60; // token有效期单位s 默认30天
private long activityTimeout = -1; // token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒, 默认-1 代表不限制 (例如可以设置为1800代表30分钟内无操作就过期)
private Boolean isShare = true; // 在多人登录同一账号时,是否共享会话 (为true时共用一个为false时新登录挤掉旧登录)
private Boolean isReadBody = true; // 是否尝试从请求体里读取token
private Boolean isReadHead = true; // 是否尝试从header里读取token
private Boolean isReadCookie = true; // 是否尝试从cookie里读取token
private String tokenStyle = "uuid"; // token风格
/**
* token名称 (同时也是cookie名称)
*/
private String tokenName = "satoken";
private Boolean isV = true; // 是否在初始化配置时打印版本字符画
/**
* token有效期单位/秒 默认30天, -1代表永久
*/
private long timeout = 30 * 24 * 60 * 60;
/**
* token临时有效期 (指定时间内无操作就视为token过期) 单位/秒, 默认-1 代表不限制 (例如可以设置为1800代表30分钟内无操作就过期)
*/
private long activityTimeout = -1;
/**
* 在多人登录同一账号时,是否共享会话 (为true时共用一个为false时新登录挤掉旧登录)
*/
private Boolean isShare = true;
/**
* 是否尝试从请求体里读取token
*/
private Boolean isReadBody = true;
/**
* 是否尝试从header里读取token
*/
private Boolean isReadHead = true;
/**
* 是否尝试从cookie里读取token
*/
private Boolean isReadCookie = true;
/**
* token风格
*/
private String tokenStyle = "uuid";
/**
* 是否在初始化配置时打印版本字符画
*/
private Boolean isV = true;
@@ -149,7 +183,9 @@ public class SaTokenConfig {
/**
* 将对象转为String字符串
*/
@Override
public String toString() {
return "SaTokenConfig [tokenName=" + tokenName + ", timeout=" + timeout + ", activityTimeout=" + activityTimeout

View File

@@ -8,7 +8,7 @@ import java.util.Map;
import java.util.Properties;
/**
* 创建一个配置文件
* sa-token配置文件创建工厂类
* @author kong
*
*/
@@ -102,7 +102,7 @@ public class SaTokenConfigFactory {
* 将字符串转化为指定数据类型
* @param str 值
* @param cs 要转换的类型
* @return .
* @return 转化好的结果
*/
@SuppressWarnings("unchecked")
private static <T>T getObjectByClass(String str, Class<T> cs){

View File

@@ -12,41 +12,37 @@ import javax.servlet.http.HttpServletResponse;
public interface SaTokenCookie {
/**
* 获取指定cookie .
*
* @param request .
* @param cookieName .
* @return .
* 在request对象中获取指定Cookie
* @param request request对象
* @param cookieName Cookie名称
* @return 查找到的Cookie对象
*/
public Cookie getCookie(HttpServletRequest request, String cookieName);
/**
* 添加cookie
*
* @param response .
* @param name .
* @param value .
* @param path .
* @param timeout .
* 添加Cookie
* @param response response对象
* @param name Cookie名称
* @param value Cookie值
* @param path Cookie路径
* @param timeout 过期时间 (秒)
*/
public void addCookie(HttpServletResponse response, String name, String value, String path, int timeout);
/**
* 删除cookie .
*
* @param request .
* @param response .
* @param name .
* 删除Cookie
* @param request request对象
* @param response response对象
* @param name Cookie名称
*/
public void delCookie(HttpServletRequest request, HttpServletResponse response, String name);
/**
* 修改cookie的value值
*
* @param request .
* @param response .
* @param name .
* @param value .
* 修改Cookie的value值
* @param request request对象
* @param response response对象
* @param name Cookie名称
* @param value Cookie值
*/
public void updateCookie(HttpServletRequest request, HttpServletResponse response, String name, String value);

View File

@@ -14,6 +14,7 @@ public class SaTokenCookieDefaultImpl implements SaTokenCookie {
/**
* 获取指定cookie
*/
@Override
public Cookie getCookie(HttpServletRequest request, String cookieName) {
return SaTokenCookieUtil.getCookie(request, cookieName);
}
@@ -21,6 +22,7 @@ public class SaTokenCookieDefaultImpl implements SaTokenCookie {
/**
* 添加cookie
*/
@Override
public void addCookie(HttpServletResponse response, String name, String value, String path, int timeout) {
SaTokenCookieUtil.addCookie(response, name, value, path, timeout);
}
@@ -28,6 +30,7 @@ public class SaTokenCookieDefaultImpl implements SaTokenCookie {
/**
* 删除cookie
*/
@Override
public void delCookie(HttpServletRequest request, HttpServletResponse response, String name) {
SaTokenCookieUtil.delCookie(request, response, name);
}
@@ -35,6 +38,7 @@ public class SaTokenCookieDefaultImpl implements SaTokenCookie {
/**
* 修改cookie的value值
*/
@Override
public void updateCookie(HttpServletRequest request, HttpServletResponse response, String name, String value) {
SaTokenCookieUtil.updateCookie(request, response, name, value);
}

View File

@@ -5,19 +5,16 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* cookie操作工具类
*
* Cookie操作工具类
* @author kong
*
*/
public class SaTokenCookieUtil {
/**
* 获取指定cookie .
*
* @param request .
* @param cookieName .
* @return .
* 在request对象中获取指定Cookie
* @param request request对象
* @param cookieName Cookie名称
* @return 查找到的Cookie对象
*/
public static Cookie getCookie(HttpServletRequest request, String cookieName) {
Cookie[] cookies = request.getCookies();
@@ -33,12 +30,11 @@ public class SaTokenCookieUtil {
/**
* 添加cookie
*
* @param response .
* @param name .
* @param value .
* @param path .
* @param timeout .
* @param response response
* @param name Cookie名称
* @param value Cookie值
* @param path Cookie写入路径
* @param timeout Cookie有效期 (秒)
*/
public static void addCookie(HttpServletResponse response, String name, String value, String path, int timeout) {
Cookie cookie = new Cookie(name, value);
@@ -51,11 +47,10 @@ public class SaTokenCookieUtil {
}
/**
* 删除cookie .
*
* @param request .
* @param response .
* @param name .
* 删除Cookie
* @param request request对象
* @param response response对象
* @param name Cookie名称
*/
public static void delCookie(HttpServletRequest request, HttpServletResponse response, String name) {
Cookie[] cookies = request.getCookies();
@@ -71,11 +66,10 @@ public class SaTokenCookieUtil {
/**
* 修改cookie的value值
*
* @param request .
* @param response .
* @param name .
* @param value .
* @param request request对象
* @param response response对象
* @param name Cookie名称
* @param value Cookie值
*/
public static void updateCookie(HttpServletRequest request, HttpServletResponse response, String name,
String value) {

View File

@@ -5,7 +5,6 @@ import cn.dev33.satoken.session.SaSession;
/**
* sa-token持久层的接口
* @author kong
*
*/
public interface SaTokenDao {
@@ -26,10 +25,10 @@ public interface SaTokenDao {
public String getValue(String key);
/**
* 写入指定key-value键值对并设定过期时间 (单位秒)
* 写入指定key-value键值对并设定过期时间 (单位: 秒)
* @param key 键名称
* @param value 值
* @param timeout 过期时间单位s
* @param timeout 过期时间 (单位: 秒)
*/
public void setValue(String key, String value, long timeout);
@@ -55,16 +54,16 @@ public interface SaTokenDao {
/**
* 根据指定key的session如果没有则返回空
* 根据指定key的Session如果没有则返回空
* @param sessionId 键名称
* @return SaSession
*/
public SaSession getSession(String sessionId);
/**
* 将指定session持久化
* 将指定Session持久化
* @param session 要保存的session对象
* @param timeout 过期时间单位: s
* @param timeout 过期时间 (单位: 秒)
*/
public void saveSession(SaSession session, long timeout);
@@ -83,7 +82,7 @@ public interface SaTokenDao {
/**
* 获取指定SaSession的剩余存活时间 (单位: 秒)
* @param sessionId 指定SaSession
* @return 这个SaSession的剩余存活时间
* @return 这个SaSession的剩余存活时间 (单位: 秒)
*/
public long getSessionTimeout(String sessionId);

View File

@@ -103,7 +103,6 @@ public class SaTokenDaoDefaultImpl implements SaTokenDao {
}
}
/**
* 获取指定key的剩余存活时间 (单位:秒)
*/

View File

@@ -4,9 +4,8 @@ import java.util.Arrays;
import java.util.List;
/**
* 没有登陆抛出的异常
* 一个异常:代表用户没有登录
* @author kong
*
*/
public class NotLoginException extends RuntimeException {
@@ -59,7 +58,7 @@ public class NotLoginException extends RuntimeException {
private String type;
/**
* 获取异常类型
* @return
* @return 异常类型
*/
public String getType() {
return type;
@@ -72,7 +71,7 @@ public class NotLoginException extends RuntimeException {
private String loginKey;
/**
* 获得loginKey
* @return login_key
* @return loginKey
*/
public String getLoginKey() {
return loginKey;
@@ -81,16 +80,8 @@ public class NotLoginException extends RuntimeException {
// /**
// * 创建一个
// */
// public NotLoginException() {
// this(StpUtil.stpLogic.loginKey);
// }
/**
* 创建一个
* 构造方法创建一个
* @param message 异常消息
* @param loginKey loginKey
* @param type 类型

View File

@@ -26,12 +26,12 @@ public class NotPermissionException extends RuntimeException {
}
/**
* login_key
* loginKey
*/
private String loginKey;
/**
* 获得login_key
* @return login_key
* 获得loginKey
* @return loginKey
*/
public String getLoginKey() {
return loginKey;

View File

@@ -13,6 +13,10 @@ public class SaTokenException extends RuntimeException {
private static final long serialVersionUID = 6806129545290130132L;
/**
* 构建一个异常
* @param message 异常描述信息
*/
public SaTokenException(String message) {
super(message);
}

View File

@@ -18,8 +18,8 @@ public interface SaTokenServlet {
public HttpServletRequest getRequest();
/**
* 获取当前会话的 response
* @return 当前请求的response
* 获取当前请求的 Response 对象
* @return 当前请求的response对象
*/
public HttpServletResponse getResponse();

View File

@@ -4,7 +4,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* sa-token 对Servlet的相关操作 接口默认实现类
* sa-token 对SaTokenServlet接口默认实现类
* @author kong
*
*/

View File

@@ -21,10 +21,12 @@ public class SaSession implements Serializable {
* 会话id
*/
private String id;
/**
* 当前会话创建时间
*/
private long createTime;
/**
* 当前会话键值对
*/
@@ -33,7 +35,7 @@ public class SaSession implements Serializable {
/**
* 构建一个 session对象
* @param id sessionId
* @param id session的id
*/
public SaSession(String id) {
this.id = id;

View File

@@ -12,11 +12,14 @@ public class SaSessionCustomUtil {
/**
* 添加上指定前缀防止恶意伪造session
*/
public static String session_key = "custom";
public static String sessionKey = "custom";
/** 组织一下key */
public static String getSessionKey(String sessionId) {
return SaTokenManager.getConfig().getTokenName() + ":" + session_key + ":session:" + sessionId;
return SaTokenManager.getConfig().getTokenName() + ":" + sessionKey + ":session:" + sessionId;
}
/**
* 指定key的session是否存在
* @param sessionId session的id

View File

@@ -9,10 +9,10 @@ import java.util.List;
public interface StpInterface {
/**
* 返回指定login_id所拥有的权限码集合
* 返回指定loginId所拥有的权限码集合
* @param loginId 账号id
* @param loginKey 具体的stp标识
* @return .
* @return 该账号id具有的权限码集合
*/
public List<Object> getPermissionCodeList(Object loginId, String loginKey);

View File

@@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* 权限验证接口 默认实现
* 对StpInterface接口默认实现
* @author kong
*/
public class StpInterfaceDefaultImpl implements StpInterface {

View File

@@ -91,8 +91,8 @@ public class StpLogic {
/**
* 获取指定loginId的tokenValue
* @param loginId .
* @return .
* @param loginId 账号id
* @return token值
*/
public String getTokenValueByLoginId(Object loginId) {
return SaTokenManager.getSaTokenDao().getValue(getKeyLoginId(loginId));
@@ -244,8 +244,8 @@ public class StpLogic {
}
/**
* 获取当前会话登录id, 如果未登录,则抛出异常
* @return .
* 获取当前会话账号id, 如果未登录,则抛出异常
* @return 账号id
*/
public Object getLoginId() {
// 如果获取不到token则抛出无token
@@ -305,7 +305,7 @@ public class StpLogic {
/**
* 获取当前会话登录id, 如果未登录则返回null
* @return .
* @return 账号id
*/
public Object getLoginIdDefaultNull() {
// 如果连token都是空的则直接返回
@@ -328,7 +328,7 @@ public class StpLogic {
/**
* 获取当前会话登录id, 并转换为String
* @return 登录id
* @return 账号id
*/
public String getLoginIdAsString() {
return String.valueOf(getLoginId());
@@ -336,7 +336,7 @@ public class StpLogic {
/**
* 获取当前会话登录id, 并转换为int
* @return 登录id
* @return 账号id
*/
public int getLoginIdAsInt() {
// Object loginId = getLoginId();
@@ -348,7 +348,7 @@ public class StpLogic {
/**
* 获取当前会话登录id, 并转换为long
* @return 登录id
* @return 账号id
*/
public long getLoginIdAsLong() {
// Object loginId = getLoginId();
@@ -378,9 +378,9 @@ public class StpLogic {
/**
* 获取指定key的session, 如果session尚未创建isCreate=是否新建并返回
* @param sessionId .
* @param isCreate .
* @return .
* @param sessionId sessionId
* @param isCreate 是否新建
* @return session对象
*/
protected SaSession getSessionBySessionId(String sessionId, boolean isCreate) {
SaSession session = SaTokenManager.getSaTokenDao().getSession(sessionId);
@@ -392,8 +392,8 @@ public class StpLogic {
}
/**
* 获取指定loginId的session, 如果没有isCreate=是否新建并返回
* @param loginId 登录id
* 获取指定loginId的session, 如果session尚未创建isCreate=是否新建并返回
* @param loginId 账号id
* @param isCreate 是否新建
* @return SaSession
*/
@@ -402,9 +402,9 @@ public class StpLogic {
}
/**
* 获取指定loginId的session
* @param loginId .
* @return .
* 获取指定loginId的session如果session尚未创建则新建并返回
* @param loginId 账号id
* @return session会话
*/
public SaSession getSessionByLoginId(Object loginId) {
return getSessionByLoginId(loginId, true);
@@ -420,7 +420,7 @@ public class StpLogic {
}
/**
* 获取当前会话的session
* 获取当前会话的session如果session尚未创建则新建并返回
* @return 当前会话的session
*/
public SaSession getSession() {
@@ -600,43 +600,43 @@ public class StpLogic {
// =================== 权限验证操作 ===================
/**
* 指定loginId是否含有指定权限
* @param loginId .
* @param pcode .
* @return .
* 指定账号id是否含有指定权限
* @param loginId 账号id
* @param permissionCode 权限码
* @return 是否含有指定权限
*/
public boolean hasPermission(Object loginId, Object pcode) {
public boolean hasPermission(Object loginId, Object permissionCode) {
List<Object> pcodeList = SaTokenManager.getStpInterface().getPermissionCodeList(loginId, loginKey);
return !(pcodeList == null || pcodeList.contains(pcode) == false);
return !(pcodeList == null || pcodeList.contains(permissionCode) == false);
}
/**
* 当前会话是否含有指定权限
* @param pcode .
* @return .
* 当前账号id是否含有指定权限
* @param permissionCode 权限码
* @return 是否含有指定权限
*/
public boolean hasPermission(Object pcode) {
return hasPermission(getLoginId(), pcode);
public boolean hasPermission(Object permissionCode) {
return hasPermission(getLoginId(), permissionCode);
}
/**
* 当前账号是否含有指定权限, 没有就抛出异常
* @param pcode .
* @param permissionCode 权限码
*/
public void checkPermission(Object pcode) {
if(hasPermission(pcode) == false) {
throw new NotPermissionException(pcode, this.loginKey);
public void checkPermission(Object permissionCode) {
if(hasPermission(permissionCode) == false) {
throw new NotPermissionException(permissionCode, this.loginKey);
}
}
/**
* 当前账号是否含有指定权限 指定多个,必须全都有
* @param pcodeArray .
* 当前账号是否含有指定权限, [指定多个,必须全都有]
* @param permissionCodeArray 权限码数组
*/
public void checkPermissionAnd(Object... pcodeArray){
public void checkPermissionAnd(Object... permissionCodeArray){
Object loginId = getLoginId();
List<Object> pcodeList = SaTokenManager.getStpInterface().getPermissionCodeList(loginId, loginKey);
for (Object pcode : pcodeArray) {
for (Object pcode : permissionCodeArray) {
if(pcodeList.contains(pcode) == false) {
throw new NotPermissionException(pcode, this.loginKey); // 没有权限抛出异常
}
@@ -644,19 +644,19 @@ public class StpLogic {
}
/**
* 当前账号是否含有指定权限 指定多个,有一个就可以了】
* @param pcodeArray .
* 当前账号是否含有指定权限, [指定多个,有一个就可以通过]
* @param permissionCodeArray 权限码数组
*/
public void checkPermissionOr(Object... pcodeArray){
public void checkPermissionOr(Object... permissionCodeArray){
Object loginId = getLoginId();
List<Object> pcodeList = SaTokenManager.getStpInterface().getPermissionCodeList(loginId, loginKey);
for (Object pcode : pcodeArray) {
for (Object pcode : permissionCodeArray) {
if(pcodeList.contains(pcode) == true) {
return; // 有的话提前退出
}
}
if(pcodeArray.length > 0) {
throw new NotPermissionException(pcodeArray[0], this.loginKey); // 没有权限抛出异常
if(permissionCodeArray.length > 0) {
throw new NotPermissionException(permissionCodeArray[0], this.loginKey); // 没有权限抛出异常
}
}
@@ -672,7 +672,7 @@ public class StpLogic {
}
/**
* 获取key tokenValue 持久化
* @param tokenValue .
* @param tokenValue token值
* @return key
*/
public String getKeyTokenValue(String tokenValue) {
@@ -680,7 +680,7 @@ public class StpLogic {
}
/**
* 获取key id 持久化
* @param loginId .
* @param loginId 账号id
* @return key
*/
public String getKeyLoginId(Object loginId) {
@@ -688,7 +688,7 @@ public class StpLogic {
}
/**
* 获取key session 持久化
* @param loginId .
* @param loginId 账号id
* @return key
*/
public String getKeySession(Object loginId) {
@@ -696,7 +696,7 @@ public class StpLogic {
}
/**
* 获取key 指定token的最后操作时间 持久化
* @param tokenValue token
* @param tokenValue token
* @return key
*/
public String getKeyLastActivityTime(String tokenValue) {

View File

@@ -34,8 +34,8 @@ public class StpUtil {
/**
* 获取指定loginId的tokenValue
* @param loginId .
* @return .
* @param loginId 账号id
* @return token值
*/
public static String getTokenValueByLoginId(Object loginId) {
return stpLogic.getTokenValueByLoginId(loginId);
@@ -57,6 +57,7 @@ public class StpUtil {
return stpLogic.getTokenInfo();
}
// =================== 登录相关操作 ===================
/**
@@ -104,12 +105,12 @@ public class StpUtil {
* 检验当前会话是否已经登录,如未登录,则抛出异常
*/
public static void checkLogin() {
getLoginId();
stpLogic.checkLogin();
}
/**
* 获取当前会话登录id, 如果未登录,则抛出异常
* @return .
* 获取当前会话账号id, 如果未登录,则抛出异常
* @return 账号id
*/
public static Object getLoginId() {
return stpLogic.getLoginId();
@@ -127,7 +128,7 @@ public class StpUtil {
/**
* 获取当前会话登录id, 如果未登录则返回null
* @return .
* @return 账号id
*/
public static Object getLoginIdDefaultNull() {
return stpLogic.getLoginIdDefaultNull();
@@ -135,7 +136,7 @@ public class StpUtil {
/**
* 获取当前会话登录id, 并转换为String
* @return 登录id
* @return 账号id
*/
public static String getLoginIdAsString() {
return stpLogic.getLoginIdAsString();
@@ -143,7 +144,7 @@ public class StpUtil {
/**
* 获取当前会话登录id, 并转换为int
* @return 登录id
* @return 账号id
*/
public static int getLoginIdAsInt() {
return stpLogic.getLoginIdAsInt();
@@ -151,7 +152,7 @@ public class StpUtil {
/**
* 获取当前会话登录id, 并转换为long
* @return 登录id
* @return 账号id
*/
public static long getLoginIdAsLong() {
return stpLogic.getLoginIdAsLong();
@@ -170,8 +171,8 @@ public class StpUtil {
// =================== session相关 ===================
/**
* 获取指定loginId的session, 如果没有isCreate=是否新建并返回
* @param loginId 登录id
* 获取指定loginId的session, 如果session尚未创建isCreate=是否新建并返回
* @param loginId 账号id
* @param isCreate 是否新建
* @return SaSession
*/
@@ -180,16 +181,17 @@ public class StpUtil {
}
/**
* 获取指定loginId的session
* @param loginId .
* @return .
* 获取指定loginId的session, 如果session尚未创建isCreate=是否新建并返回
* @param loginId 账号id
* @param isCreate 是否新建
* @return SaSession
*/
public static SaSession getSessionByLoginId(Object loginId) {
return stpLogic.getSessionByLoginId(loginId);
}
/**
* 获取当前会话的session, 如果没有isCreate=是否新建并返回
* 获取当前会话的session, 如果session尚未创建isCreate=是否新建并返回
* @param isCreate 是否新建
* @return 当前会话的session
*/
@@ -198,8 +200,8 @@ public class StpUtil {
}
/**
* 获取当前会话的session
* @return .
* 获取当前会话的session如果session尚未创建则新建并返回
* @return 当前会话的session
*/
public static SaSession getSession() {
return stpLogic.getSession();
@@ -283,46 +285,46 @@ public class StpUtil {
// =================== 权限验证操作 ===================
/**
* 指定loginId是否含有指定权限
* @param loginId .
* @param pcode .
* @return .
* 指定账号id是否含有指定权限
* @param loginId 账号id
* @param permissionCode 权限码
* @return 是否含有指定权限
*/
public static boolean hasPermission(Object loginId, Object pcode) {
return stpLogic.hasPermission(loginId, pcode);
}
/**
* 当前会话是否含有指定权限
* @param pcode .
* @return .
* 当前账号id是否含有指定权限
* @param permissionCode 权限码
* @return 是否含有指定权限
*/
public static boolean hasPermission(Object pcode) {
return stpLogic.hasPermission(pcode);
public static boolean hasPermission(Object permissionCode) {
return stpLogic.hasPermission(permissionCode);
}
/**
* 当前账号是否含有指定权限, 没有就抛出异常
* @param pcode .
* @param permissionCode 权限码
*/
public static void checkPermission(Object pcode) {
stpLogic.checkPermission(pcode);
public static void checkPermission(Object permissionCode) {
stpLogic.checkPermission(permissionCode);
}
/**
* 当前账号是否含有指定权限 指定多个,必须全都有
* @param pcodeArray .
* 当前账号是否含有指定权限, [指定多个,必须全都有]
* @param permissionCodeArray 权限码数组
*/
public static void checkPermissionAnd(Object... pcodeArray) {
stpLogic.checkPermissionAnd(pcodeArray);
public static void checkPermissionAnd(Object... permissionCodeArray) {
stpLogic.checkPermissionAnd(permissionCodeArray);
}
/**
* 当前账号是否含有指定权限 指定多个,有一个就可以了】
* @param pcodeArray .
* 当前账号是否含有指定权限, [指定多个,有一个就可以通过]
* @param permissionCodeArray 权限码数组
*/
public static void checkPermissionOr(Object... pcodeArray) {
stpLogic.checkPermissionOr(pcodeArray);
public static void checkPermissionOr(Object... permissionCodeArray) {
stpLogic.checkPermissionOr(permissionCodeArray);
}

View File

@@ -21,7 +21,7 @@ public class SaTokenInsideUtil {
public static final String GITHUB_URL = "https://github.com/click33/sa-token";
/**
* 打印 sa-token
* 打印 sa-token 版本字符画
*/
public static void printSaToken() {
String str =

View File

@@ -10,6 +10,7 @@ import org.springframework.context.annotation.Import;
/**
* 将此注解加到springboot启动类上即可完成sa-token与springboot的集成
* <p>注: v1.7版本以上已不再需要此注解直接引入sa-token-spring-boot-starter依赖即可
* @author kong
*
*/

View File

@@ -39,8 +39,6 @@ public class SaCheckInterceptor implements HandlerInterceptor {
}
/**
* 每次请求之前触发
*/
@@ -79,10 +77,6 @@ public class SaCheckInterceptor implements HandlerInterceptor {
return true;
}
/**
* 合并三个数组
* @param a .

View File

@@ -20,7 +20,6 @@ public class SaTokenServletSpringImpl implements SaTokenServlet {
return SpringMVCUtil.getRequest();
}
/**
* 获取当前请求的Response对象
*/

View File

@@ -15,7 +15,7 @@ public class SpringMVCUtil {
/**
* 获取当前会话的 request
* @return .
* @return request
*/
public static HttpServletRequest getRequest() {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();// 大善人SpringMVC提供的封装
@@ -27,7 +27,7 @@ public class SpringMVCUtil {
/**
* 获取当前会话的 response
* @return .
* @return response
*/
public static HttpServletResponse getResponse() {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();// 大善人SpringMVC提供的封装
@@ -37,7 +37,4 @@ public class SpringMVCUtil {
return servletRequestAttributes.getResponse();
}
}