diff --git a/pom.xml b/pom.xml index fb3e1cee..daa0af62 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ - sp-token-core + sa-token-core sa-token-spring-boot-starter diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/SaTokenManager.java b/sa-token-core/src/main/java/cn/dev33/satoken/SaTokenManager.java index dc01b0b7..06c962c5 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/SaTokenManager.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/SaTokenManager.java @@ -15,7 +15,7 @@ import cn.dev33.satoken.stp.StpInterfaceDefaultImpl; import cn.dev33.satoken.util.SaTokenInsideUtil; /** - * 管理sa-token所有对象 + * 管理sa-token所有接口对象 * @author kong * */ diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenAction.java b/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenAction.java index 20e2c549..46ad5ec9 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenAction.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenAction.java @@ -1,15 +1,19 @@ 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); - + } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenActionDefaultImpl.java b/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenActionDefaultImpl.java index d539bae1..493b5835 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenActionDefaultImpl.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/action/SaTokenActionDefaultImpl.java @@ -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(); } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckLogin.java b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckLogin.java index 3476159a..875eecb6 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckLogin.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckLogin.java @@ -6,7 +6,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * 标注一个路由方法,当前会话必须已登录才能通过 + * 标注一个路由方法,当前会话必须已登录才能通过 + *

可标注在类上,其效果等同于标注在此类的所有方法上 * @author kong * */ diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckPermission.java b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckPermission.java index f783c609..b97e81b6 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckPermission.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/annotation/SaCheckPermission.java @@ -7,6 +7,7 @@ import java.lang.annotation.Target; /** * 标注一个路由方法,当前会话必须具有指定权限才可以通过 + *

可标注在类上,其效果等同于标注在此类的所有方法上 * @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 . + * 是否属于and型验证,true=必须全部具有,false=只要具有一个就可以通过 + * @return 是否属于and型验证 */ boolean isAnd() default true; diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java index d9d23f76..c0278f3d 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java @@ -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 diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java index 63e69c0e..b29cf151 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java @@ -8,7 +8,7 @@ import java.util.Map; import java.util.Properties; /** - * 创建一个配置文件 + * sa-token配置文件创建工厂类 * @author kong * */ @@ -16,7 +16,7 @@ public class SaTokenConfigFactory { /** - * 默认配置文件地址 + * 默认配置文件地址 */ public static String configPath = "sa-token.properties"; @@ -102,7 +102,7 @@ public class SaTokenConfigFactory { * 将字符串转化为指定数据类型 * @param str 值 * @param cs 要转换的类型 - * @return . + * @return 转化好的结果 */ @SuppressWarnings("unchecked") private static T getObjectByClass(String str, Class cs){ diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookie.java b/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookie.java index e501eb11..c9b9c3e4 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookie.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookie.java @@ -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); diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieDefaultImpl.java b/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieDefaultImpl.java index f8068e19..c0836221 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieDefaultImpl.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieDefaultImpl.java @@ -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); } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieUtil.java b/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieUtil.java index 74edb933..e77ff321 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieUtil.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/cookie/SaTokenCookieUtil.java @@ -5,19 +5,16 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** - * cookie操作工具类 - * - * @author kong - * + * 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(); @@ -32,13 +29,12 @@ public class SaTokenCookieUtil { } /** - * 添加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 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(); @@ -70,12 +65,11 @@ public class SaTokenCookieUtil { } /** - * 修改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 static void updateCookie(HttpServletRequest request, HttpServletResponse response, String name, String value) { diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java index 1a1b77dd..6efed977 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java @@ -4,8 +4,7 @@ import cn.dev33.satoken.session.SaSession; /** * sa-token持久层的接口 - * @author kong - * + * @author kong */ public interface SaTokenDao { @@ -19,17 +18,17 @@ public interface SaTokenDao { /** - * 根据key获取value ,如果没有,则返回空 + * 根据key获取value,如果没有,则返回空 * @param key 键名称 * @return value */ 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); diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java index fee7682c..1a7d9344 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java @@ -18,7 +18,7 @@ public class SaTokenDaoDefaultImpl implements SaTokenDao { public Map dataMap = new HashMap(); /** - * 过期时间集合 (单位: 毫秒) , 记录所有key的到期时间 [注意不是剩余存活时间] + * 过期时间集合 (单位: 毫秒) , 记录所有key的到期时间 [注意不是剩余存活时间] */ public Map expireMap = new HashMap(); @@ -103,7 +103,6 @@ public class SaTokenDaoDefaultImpl implements SaTokenDao { } } - /** * 获取指定key的剩余存活时间 (单位:秒) */ diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotLoginException.java b/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotLoginException.java index eefb05f5..a66839d5 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotLoginException.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotLoginException.java @@ -4,14 +4,13 @@ import java.util.Arrays; import java.util.List; /** - * 没有登陆抛出的异常 - * @author kong - * + * 一个异常:代表用户没有登录 + * @author kong */ public class NotLoginException extends RuntimeException { /** - * + * */ private static final long serialVersionUID = 6806129545290130142L; @@ -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 类型 @@ -103,8 +94,8 @@ public class NotLoginException extends RuntimeException { } /** - * 静态方法构建一个NotLoginException - * @param loginKey loginKey + * 静态方法构建一个NotLoginException + * @param loginKey loginKey * @param type 场景类型 * @return 构建完毕的异常对象 */ diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotPermissionException.java b/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotPermissionException.java index a7e1614b..2e4628f5 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotPermissionException.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/exception/NotPermissionException.java @@ -15,7 +15,7 @@ public class NotPermissionException extends RuntimeException { private static final long serialVersionUID = 6806129545290130142L; /** - * 权限码 + * 权限码 */ private Object code; /** @@ -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; diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java b/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java index f1c69e25..a90a540b 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/exception/SaTokenException.java @@ -13,6 +13,10 @@ public class SaTokenException extends RuntimeException { private static final long serialVersionUID = 6806129545290130132L; + /** + * 构建一个异常 + * @param message 异常描述信息 + */ public SaTokenException(String message) { super(message); } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServlet.java b/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServlet.java index d9a891c0..b1dbe6f7 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServlet.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServlet.java @@ -12,14 +12,14 @@ public interface SaTokenServlet { /** - * 获取当前请求的Request对象 + * 获取当前请求的 Request 对象 * @return 当前请求的Request对象 */ public HttpServletRequest getRequest(); /** - * 获取当前会话的 response - * @return 当前请求的response + * 获取当前请求的 Response 对象 + * @return 当前请求的response对象 */ public HttpServletResponse getResponse(); diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServletDefaultImpl.java b/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServletDefaultImpl.java index c515f69b..f3f205a0 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServletDefaultImpl.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/servlet/SaTokenServletDefaultImpl.java @@ -4,7 +4,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** - * sa-token 对Servlet的相关操作 接口默认实现类 + * sa-token 对SaTokenServlet接口默认实现类 * @author kong * */ diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java b/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java index ba070515..e6d4b592 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java @@ -21,10 +21,12 @@ public class SaSession implements Serializable { * 会话id */ private String id; + /** * 当前会话创建时间 */ private long createTime; + /** * 当前会话键值对 */ @@ -32,8 +34,8 @@ public class SaSession implements Serializable { /** - * 构建一个 session对象 - * @param id sessionId + * 构建一个 session对象 + * @param id session的id */ public SaSession(String id) { this.id = id; @@ -50,7 +52,7 @@ public class SaSession implements Serializable { } /** - * 返回当前会话创建时间 + * 返回当前会话创建时间 * @return 时间戳 */ public long getCreateTime() { @@ -58,7 +60,7 @@ public class SaSession implements Serializable { } /** - * 写入一个值 + * 写入一个值 * @param key 名称 * @param value 值 */ diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java b/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java index 24042af3..e061c65a 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java @@ -12,13 +12,16 @@ 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是否存在 + * 指定key的session是否存在 * @param sessionId session的id * @return 是否存在 */ @@ -27,7 +30,7 @@ public class SaSessionCustomUtil { } /** - * 获取指定key的session + * 获取指定key的session * @param sessionId key * @param isCreate 如果没有,是否新建并返回 * @return SaSession @@ -51,7 +54,7 @@ public class SaSessionCustomUtil { } /** - * 删除指定key的session + * 删除指定key的session * @param sessionId 删除指定key */ public static void deleteSessionById(String sessionId) { diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterface.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterface.java index 81fcb7fd..0b3b7cfc 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterface.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterface.java @@ -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 getPermissionCodeList(Object loginId, String loginKey); diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterfaceDefaultImpl.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterfaceDefaultImpl.java index 4a527c6c..39026014 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterfaceDefaultImpl.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpInterfaceDefaultImpl.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; /** - * 权限验证接口 ,默认实现 + * 对StpInterface接口默认的实现类 * @author kong */ public class StpInterfaceDefaultImpl implements StpInterface { diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java index 024cf38f..5d9c68f8 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java @@ -14,7 +14,7 @@ import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.util.SaTokenInsideUtil; /** - * sa-token 权限验证,逻辑 实现类 + * sa-token 权限验证,逻辑实现类 *

* (stp = sa-token-permission 的缩写 ) * @author kong @@ -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)); @@ -128,7 +128,7 @@ public class StpLogic { /** * 在当前会话上登录id - * @param loginId 登录id ,建议的类型:(long | int | String) + * @param loginId 登录id,建议的类型:(long | int | String) */ public void setLoginId(Object loginId) { @@ -228,7 +228,7 @@ public class StpLogic { // 查询相关 /** - * 获取当前会话是否已经登录 + * 获取当前会话是否已经登录 * @return 是否已登录 */ public boolean isLogin() { @@ -237,15 +237,15 @@ public class StpLogic { } /** - * 检验当前会话是否已经登录,如未登录,则抛出异常 + * 检验当前会话是否已经登录,如未登录,则抛出异常 */ public void checkLogin() { getLoginId(); } /** - * 获取当前会话登录id, 如果未登录,则抛出异常 - * @return . + * 获取当前会话账号id, 如果未登录,则抛出异常 + * @return 账号id */ public Object getLoginId() { // 如果获取不到token,则抛出:无token @@ -278,7 +278,7 @@ public class StpLogic { } /** - * 获取当前会话登录id, 如果未登录,则返回默认值 + * 获取当前会话登录id, 如果未登录,则返回默认值 * @param 返回类型 * @param defaultValue 默认值 * @return 登录id @@ -304,8 +304,8 @@ public class StpLogic { } /** - * 获取当前会话登录id, 如果未登录,则返回null - * @return . + * 获取当前会话登录id, 如果未登录,则返回null + * @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); @@ -412,7 +412,7 @@ public class StpLogic { /** * 获取当前会话的session, 如果session尚未创建,isCreate=是否新建并返回 - * @param isCreate 是否新建 + * @param isCreate 是否新建 * @return 当前会话的session */ public SaSession getSession(boolean isCreate) { @@ -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 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 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 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) { diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java index b79c3f4c..70fbc2f9 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java @@ -33,22 +33,22 @@ public class StpUtil { } /** - * 获取指定loginId的tokenValue - * @param loginId . - * @return . + * 获取指定loginId的tokenValue + * @param loginId 账号id + * @return token值 */ public static String getTokenValueByLoginId(Object loginId) { return stpLogic.getTokenValueByLoginId(loginId); } - + /** - * 获取当前StpLogin的loginKey + * 获取当前StpLogin的loginKey * @return 当前StpLogin的loginKey */ public static String getLoginKey(){ return stpLogic.getLoginKey(); } - + /** * 获取当前会话的token信息 * @return token信息 @@ -57,11 +57,12 @@ public class StpUtil { return stpLogic.getTokenInfo(); } + // =================== 登录相关操作 =================== /** * 在当前会话上登录id - * @param loginId 登录id ,建议的类型:(long | int | String) + * @param loginId 登录id,建议的类型:(long | int | String) */ public static void setLoginId(Object loginId) { stpLogic.setLoginId(loginId); @@ -92,31 +93,31 @@ public class StpUtil { // 查询相关 - /** - * 获取当前会话是否已经登录 + /** + * 获取当前会话是否已经登录 * @return 是否已登录 */ public static boolean isLogin() { return stpLogic.isLogin(); } - /** - * 检验当前会话是否已经登录,如未登录,则抛出异常 + /** + * 检验当前会话是否已经登录,如未登录,则抛出异常 */ public static void checkLogin() { - getLoginId(); + stpLogic.checkLogin(); } - - /** - * 获取当前会话登录id, 如果未登录,则抛出异常 - * @return . + + /** + * 获取当前会话账号id, 如果未登录,则抛出异常 + * @return 账号id */ public static Object getLoginId() { return stpLogic.getLoginId(); } /** - * 获取当前会话登录id, 如果未登录,则返回默认值 + * 获取当前会话登录id, 如果未登录,则返回默认值 * @param 返回类型 * @param defaultValue 默认值 * @return 登录id @@ -124,10 +125,10 @@ public class StpUtil { public static T getLoginId(T defaultValue) { return stpLogic.getLoginId(defaultValue); } - + /** - * 获取当前会话登录id, 如果未登录,则返回null - * @return . + * 获取当前会话登录id, 如果未登录,则返回null + * @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,26 +181,27 @@ 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=是否新建并返回 - * @param isCreate 是否新建 + * 获取当前会话的session, 如果session尚未创建,isCreate=是否新建并返回 + * @param isCreate 是否新建 * @return 当前会话的session */ public static SaSession getSession(boolean isCreate) { return stpLogic.getSession(isCreate); } - + /** - * 获取当前会话的session - * @return . + * 获取当前会话的session,如果session尚未创建,则新建并返回 + * @return 当前会话的session */ public static SaSession getSession() { return stpLogic.getSession(); @@ -282,47 +284,47 @@ 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); } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenInsideUtil.java b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenInsideUtil.java index d119b1a6..bc5a11a9 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenInsideUtil.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaTokenInsideUtil.java @@ -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 = @@ -44,7 +44,7 @@ public class SaTokenInsideUtil { public static final String TOKEN_ACTIVITY_TIMEOUT_CHECKED_KEY = "TOKEN_ACTIVITY_TIMEOUT_CHECKED_KEY_"; /** - * 生成指定长度的随机字符串 + * 生成指定长度的随机字符串 * @param length 字符串的长度 * @return 一个随机字符串 */ diff --git a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/autowired/SaTokenSetup.java b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/autowired/SaTokenSetup.java index 69a68e47..0a57aa1c 100644 --- a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/autowired/SaTokenSetup.java +++ b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/autowired/SaTokenSetup.java @@ -9,7 +9,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; /** - * 将此注解加到springboot启动类上,即可完成sa-token与springboot的集成 + * 将此注解加到springboot启动类上,即可完成sa-token与springboot的集成 + *

注: v1.7版本以上已不再需要此注解,直接引入sa-token-spring-boot-starter依赖即可 * @author kong * */ diff --git a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaCheckInterceptor.java b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaCheckInterceptor.java index cd7a50e2..b20d19d3 100644 --- a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaCheckInterceptor.java +++ b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/interceptor/SaCheckInterceptor.java @@ -39,8 +39,6 @@ public class SaCheckInterceptor implements HandlerInterceptor { } - - /** * 每次请求之前触发 */ @@ -79,10 +77,6 @@ public class SaCheckInterceptor implements HandlerInterceptor { return true; } - - - - /** * 合并三个数组 * @param a . diff --git a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenServletSpringImpl.java b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenServletSpringImpl.java index 2b702136..2727b5c9 100644 --- a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenServletSpringImpl.java +++ b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SaTokenServletSpringImpl.java @@ -20,7 +20,6 @@ public class SaTokenServletSpringImpl implements SaTokenServlet { return SpringMVCUtil.getRequest(); } - /** * 获取当前请求的Response对象 */ diff --git a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SpringMVCUtil.java b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SpringMVCUtil.java index 40f06ece..36a00534 100644 --- a/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SpringMVCUtil.java +++ b/sa-token-spring-boot-starter/src/main/java/cn/dev33/satoken/spring/SpringMVCUtil.java @@ -15,7 +15,7 @@ public class SpringMVCUtil { /** * 获取当前会话的 request - * @return . + * @return request */ public static HttpServletRequest getRequest() { ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();// 大善人SpringMVC提供的封装 @@ -26,8 +26,8 @@ public class SpringMVCUtil { } /** - * 获取当前会话的 response - * @return . + * 获取当前会话的 response + * @return response */ public static HttpServletResponse getResponse() { ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();// 大善人SpringMVC提供的封装 @@ -37,7 +37,4 @@ public class SpringMVCUtil { return servletRequestAttributes.getResponse(); } - - - }