diff --git a/sa-token-demo-springboot/lib/sa-token-spring-1.0.0.jar b/sa-token-demo-springboot/lib/sa-token-spring-1.0.0.jar deleted file mode 100644 index d93b176e5f6424ce6928a6df36fa67080f99cae7..0000000000000000000000000000000000000000 Binary files a/sa-token-demo-springboot/lib/sa-token-spring-1.0.0.jar and /dev/null differ diff --git a/sa-token-demo-springboot/pom.xml b/sa-token-demo-springboot/pom.xml index aa6c274a4bdfcca1e168058546b556c02e92c945..50acefa91b934848f6a12803f9e5d4d1bd3c62a3 100644 --- a/sa-token-demo-springboot/pom.xml +++ b/sa-token-demo-springboot/pom.xml @@ -25,14 +25,12 @@ spring-boot-starter-aop - - - cn.dev33.sa-token - sa-token-spring - 1.0.0 - system - ${project.basedir}/lib/sa-token-spring-1.0.0.jar - + + + cn.dev33 + sa-token + 1.0.0 + @@ -57,10 +55,6 @@ lib/ com.pj.SaTokenDemoApplication - - - lib/sa-token-spring-1.0.0.jar - diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java b/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java index 5ee25c94fc9c8bb538b03856ca05492569d01f81..f499697bc42c281f00db0511d3e46d03d63f635b 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfig.java @@ -12,46 +12,97 @@ public class SaTokenConfig { private Boolean isReadBody = true; // 是否在header读取不到token时,继续从请求题参数里继续尝试读取 private Boolean isV = true; // 是否在初始化配置时打印版本字符画 + + + /** + * @return tokenName + */ public String getTokenName() { return tokenName; } + + /** + * @param tokenName 要设置的 tokenName + */ public void setTokenName(String tokenName) { this.tokenName = tokenName; } + + /** + * @return timeout + */ public long getTimeout() { return timeout; } + + /** + * @param timeout 要设置的 timeout + */ public void setTimeout(long timeout) { this.timeout = timeout; } + + /** + * @return isShare + */ public Boolean getIsShare() { return isShare; } + + /** + * @param isShare 要设置的 isShare + */ public void setIsShare(Boolean isShare) { this.isShare = isShare; } + + /** + * @return isReadHead + */ public Boolean getIsReadHead() { return isReadHead; } + + /** + * @param isReadHead 要设置的 isReadHead + */ public void setIsReadHead(Boolean isReadHead) { this.isReadHead = isReadHead; } + + /** + * @return isReadBody + */ public Boolean getIsReadBody() { return isReadBody; } + + /** + * @param isReadBody 要设置的 isReadBody + */ public void setIsReadBody(Boolean isReadBody) { this.isReadBody = isReadBody; } + + /** + * @return isV + */ public Boolean getIsV() { return isV; } + + /** + * @param isV 要设置的 isV + */ public void setIsV(Boolean isV) { this.isV = isV; } - - + + /* (非 Javadoc) + * @see java.lang.Object#toString() + */ @Override public String toString() { return "SaTokenConfig [tokenName=" + tokenName + ", timeout=" + timeout + ", isShare=" + isShare @@ -62,4 +113,5 @@ public class SaTokenConfig { + } diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java b/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java index ae3d39d435ad268d7bf1c5fea29a2347ce6bdaaa..034a6d730ddbeddd26c7976ca0c148864a9693d2 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/config/SaTokenConfigFactory.java @@ -62,7 +62,7 @@ public class SaTokenConfigFactory { private static Object initPropByMap(Map map, Object obj){ if(map == null){ - map = new HashMap<>(); + map = new HashMap(); } // 1、取出类型 @@ -84,7 +84,9 @@ public class SaTokenConfigFactory { Object valueConvert = getObjectByClass(value, field.getType()); // 转换值类型 field.setAccessible(true); field.set(obj, valueConvert); - } catch (IllegalArgumentException | IllegalAccessException e) { + } catch (IllegalArgumentException e) { + throw new RuntimeException("属性赋值出错:" + field.getName(), e); + } catch (IllegalAccessException e) { throw new RuntimeException("属性赋值出错:" + field.getName(), e); } } diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java b/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java index 54e99b5e8096d11ee1b6e55f8a9427739abae1b4..e676a2a1d4d93a7f4011089eb2022a558f163555 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java @@ -33,27 +33,27 @@ public interface SaTokenDao { /** * 根据指定key的session,如果没有,则返回空 - * @param key 键名称 + * @param sessionId 键名称 * @return */ public SaSession getSaSession(String sessionId); /** * 将指定session持久化 - * @param key 键名称 - * @param value 值 + * @param session 要保存的session对象 * @param timeout 过期时间,单位: s */ public void saveSaSession(SaSession session, long timeout); /** - * 更新指定session + * 更新指定session + * @param session 要更新的session对象 */ public void updateSaSession(SaSession session); /** * 删除一个指定的session - * @param key 键名称 + * @param sessionId sessionId */ public void delSaSession(String sessionId); diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefault.java b/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefault.java index ee195dbcab7bebe5de5a80eb55588be9ae99e8b1..e61cac1eae01a9882ccf7ebe43416ae5a9517622 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefault.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefault.java @@ -10,9 +10,7 @@ import cn.dev33.satoken.session.SaSession; */ public class SaTokenDaoDefault implements SaTokenDao { - /** - * 所有数据集合 - */ + // 所有数据集合 Map dataMap = new HashMap(); diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSession.java b/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSession.java index bb812c3225aa3cd5499f1c97ddf57e8e4a2962f7..d4224bd721a563e75c1cf197b0852067c92dea3d 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSession.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSession.java @@ -41,14 +41,17 @@ public class SaSession implements Serializable { } /** - * 当前会话创建时间 + * 返回当前会话创建时间 + * @return 时间戳 */ public long getCreateTime() { return createTime; } /** - * 写入值 + * 写入一个值 + * @param key 名称 + * @param value 值 */ public void setAttribute(String key, Object value) { dataMap.put(key, value); @@ -56,14 +59,19 @@ public class SaSession implements Serializable { } /** - * 取值 + * 取出一个值 + * @param key 名称 + * @return 值 */ public Object getAttribute(String key) { return dataMap.get(key); } /** - * 取值,并指定取不到值时的默认值 + * 取值,并指定取不到值时的默认值 + * @param key 名称 + * @param default_value 取不到值的时候返回的默认值 + * @return */ public Object getAttribute(String key, Object default_value) { Object value = getAttribute(key); @@ -75,7 +83,8 @@ public class SaSession implements Serializable { /** - * 移除一个key + * 移除一个值 + * @param key 要移除的值的名字 */ public void removeAttribute(String key) { dataMap.remove(key); @@ -83,7 +92,7 @@ public class SaSession implements Serializable { } /** - * 清空所有key + * 清空所有值 */ public void clearAttribute() { dataMap.clear(); @@ -91,14 +100,17 @@ public class SaSession implements Serializable { } /** - * 是否含有指定key + * 是否含有指定key + * @param key 是否含有指定值 + * @return 是否含有 */ public boolean containsAttribute(String key) { return dataMap.keySet().contains(key); } /** - * 当前session会话所有key + * 返回当前session会话所有key + * @return 所有值的key列表 */ public Set getAttributeKeys() { return dataMap.keySet(); @@ -106,6 +118,7 @@ public class SaSession implements Serializable { /** * 获取数据集合(如果更新map里的值,请调用session.update()方法避免数据过时 ) + * @return 返回底层储存值的map对象 */ public Map getDataMap() { return dataMap; diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java b/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java index e4bc306a1d082dd6f97c53b713474ee328ee509f..5b88c6fcea313da3a26e4f1e113bcd89a129e431 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/session/SaSessionCustomUtil.java @@ -15,12 +15,21 @@ public class SaSessionCustomUtil { return SaTokenManager.getConfig().getTokenName() + ":" + session_key + ":session:" + sessionId; } - /** 指定key的session是否存在 */ + /** + * 指定key的session是否存在 + * @param sessionId session的id + * @return 是否存在 + */ public boolean isExists(String sessionId) { return SaTokenManager.getDao().getSaSession(getSessionKey(sessionId)) != null; } - /** 获取指定key的session, 如果没有,is_create=是否新建并返回 */ + /** + * 获取指定key的session + * @param sessionId key + * @param is_create 如果没有,是否新建并返回 + * @return + */ public static SaSession getSessionById(String sessionId, boolean is_create) { SaSession session = SaTokenManager.getDao().getSaSession(getSessionKey(sessionId)); if(session == null && is_create) { @@ -29,12 +38,19 @@ public class SaSessionCustomUtil { } return session; } - /** 获取指定key的session, 如果没有则新建并返回 */ + /** + * 获取指定key的session, 如果没有则新建并返回 + * @param sessionId key + * @return session对象 + */ public static SaSession getSessionById(String sessionId) { return getSessionById(sessionId, true); } - /** 删除指定key的session */ + /** + * 删除指定key的session + * @param sessionId 删除指定key + */ public static void delSessionById(String sessionId) { SaTokenManager.getDao().delSaSession(getSessionKey(sessionId)); } diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpInterface.java b/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpInterface.java index 005c37e32cc334a643ed4292cb024f5f97acf9d2..1f4d438f3624131424b03a06001d6e5376ea54ce 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpInterface.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpInterface.java @@ -7,7 +7,12 @@ import java.util.List; */ public interface StpInterface { - /** 返回指定login_id所拥有的权限码集合 */ + /** + * 返回指定login_id所拥有的权限码集合 + * @param login_id 账号id + * @param login_key 具体的stp标识 + * @return + */ public List getPermissionCodeList(Object login_id, String login_key); diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpLogic.java b/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpLogic.java index 022f681d421e14b2a7bed98fa606013b2504b562..2d7fcab759fb07da64392429bcd3385a1d15f6dd 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpLogic.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpLogic.java @@ -36,12 +36,18 @@ public class StpLogic { // =================== 获取token 相关 =================== - /** 随机生成一个tokenValue */ + /** + * 随机生成一个tokenValue + * @return 生成的tokenValue + */ public String randomTokenValue() { return UUID.randomUUID().toString(); } - /** 获取当前tokenValue */ + /** + * 获取当前tokenValue + * @return 当前tokenValue + */ public String getTokenValue(){ // 0、获取相应对象 HttpServletRequest request = SpringMVCUtil.getRequest(); @@ -82,12 +88,19 @@ public class StpLogic { return null; } - /** 获取指定id的tokenValue */ + /** + * 获取指定id的tokenValue + * @param login_id + * @return + */ public String getTokenValueByLoginId(Object login_id) { return SaTokenManager.getDao().getValue(getKey_LoginId(login_id)); } - /** 获取当前会话的token信息:tokenName与tokenValue */ + /** + * 获取当前会话的token信息:tokenName与tokenValue + * @return 一个Map对象 + */ public Map getTokenInfo() { Map map = new HashMap(); map.put("tokenName", getKey_tokenName()); @@ -98,7 +111,10 @@ public class StpLogic { // =================== 登录相关操作 =================== - /** 在当前会话上登录id ,建议的类型:(long | int | String) */ + /** + * 在当前会话上登录id + * @param login_id 登录id ,建议的类型:(long | int | String) + */ public void setLoginId(Object login_id) { // 1、获取相应对象 @@ -125,7 +141,9 @@ public class StpLogic { SaCookieUtil.addCookie(SpringMVCUtil.getResponse(), getKey_tokenName(), tokenValue, "/", (int)config.getTimeout()); // cookie注入 } - /** 当前会话注销登录 */ + /** + * 当前会话注销登录 + */ public void logout() { Object login_id = getLoginId_defaultNull(); if(login_id != null) { @@ -134,7 +152,10 @@ public class StpLogic { } } - /** 指定login_id的会话注销登录(踢人下线) */ + /** + * 指定login_id的会话注销登录(踢人下线) + * @param login_id 账号id + */ public void logoutByLoginId(Object login_id) { // 获取相应tokenValue @@ -152,12 +173,18 @@ public class StpLogic { // 查询相关 - /** 获取当前会话是否已经登录 */ + /** + * 获取当前会话是否已经登录 + * @return 是否已登录 + */ public boolean isLogin() { return getLoginId_defaultNull() != null; } - /** 获取当前会话登录id, 如果未登录,则抛出异常 */ + /** + * 获取当前会话登录id, 如果未登录,则抛出异常 + * @return + */ public Object getLoginId() { Object login_id = getLoginId_defaultNull(); if(login_id == null) { @@ -166,7 +193,11 @@ public class StpLogic { return login_id; } - /** 获取当前会话登录id, 如果未登录,则返回默认值 */ + /** + * 获取当前会话登录id, 如果未登录,则返回默认值 + * @param default_value + * @return + */ @SuppressWarnings("unchecked") public T getLoginId(T default_value) { Object login_id = getLoginId_defaultNull(); @@ -176,7 +207,10 @@ public class StpLogic { return (T)login_id; } - /** 获取当前会话登录id, 如果未登录,则返回null */ + /** + * 获取当前会话登录id, 如果未登录,则返回null + * @return + */ public Object getLoginId_defaultNull() { String tokenValue = getTokenValue(); if(tokenValue != null) { @@ -188,12 +222,18 @@ public class StpLogic { return null; } - /** 获取当前会话登录id, 并转换为String */ + /** + * 获取当前会话登录id, 并转换为String + * @return + */ public String getLoginId_asString() { return String.valueOf(getLoginId()); } - /** 获取当前会话登录id, 并转换为int */ + /** + * 获取当前会话登录id, 并转换为int + * @return + */ public int getLoginId_asInt() { // Object login_id = getLoginId(); // if(login_id instanceof Integer) { @@ -202,7 +242,10 @@ public class StpLogic { return Integer.valueOf(String.valueOf(getLoginId())); } - /** 获取当前会话登录id, 并转换为long */ + /** + * 获取当前会话登录id, 并转换为long + * @return + */ public long getLoginId_asLong() { // Object login_id = getLoginId(); // if(login_id instanceof Long) { @@ -215,7 +258,12 @@ public class StpLogic { // =================== session相关 =================== - /** 获取指定key的session, 如果没有,is_create=是否新建并返回 */ + /** + * 获取指定key的session, 如果没有,is_create=是否新建并返回 + * @param sessionId + * @param is_create + * @return + */ protected SaSession getSessionBySessionId(String sessionId, boolean is_create) { SaSession session = SaTokenManager.getDao().getSaSession(sessionId); if(session == null && is_create) { @@ -225,12 +273,19 @@ public class StpLogic { return session; } - /** 获取指定login_id的session */ + /** + * 获取指定login_id的session + * @param login_id + * @return + */ public SaSession getSessionByLoginId(Object login_id) { return getSessionBySessionId(getKey_session(login_id), false); } - /** 获取当前会话的session */ + /** + * 获取当前会话的session + * @return + */ public SaSession getSession() { return getSessionBySessionId(getKey_session(getLoginId()), true); } @@ -239,25 +294,40 @@ public class StpLogic { // =================== 权限验证操作 =================== - /** 指定login_id是否含有指定权限 */ + /** + * 指定login_id是否含有指定权限 + * @param login_id + * @param pcode + * @return + */ public boolean hasPermission(Object login_id, Object pcode) { List pcodeList = SaTokenManager.getStp().getPermissionCodeList(login_id, login_key); return !(pcodeList == null || pcodeList.contains(pcode) == false); } - /** 当前会话是否含有指定权限 */ + /** + * 当前会话是否含有指定权限 + * @param pcode + * @return + */ public boolean hasPermission(Object pcode) { return hasPermission(getLoginId(), pcode); } - /** 当前账号是否含有指定权限 , 没有就抛出异常 */ + /** + * 当前账号是否含有指定权限 , 没有就抛出异常 + * @param pcode + */ public void checkPermission(Object pcode) { if(hasPermission(pcode) == false) { throw new NotPermissionException(pcode); } } - /** 当前账号是否含有指定权限 , 【指定多个,必须全都有】 */ + /** + * 当前账号是否含有指定权限 , 【指定多个,必须全都有】 + * @param pcodeArray + */ public void checkPermissionAnd(Object... pcodeArray){ Object login_id = getLoginId(); List pcodeList = SaTokenManager.getStp().getPermissionCodeList(login_id, login_key); @@ -268,7 +338,10 @@ public class StpLogic { } } - /** 当前账号是否含有指定权限 , 【指定多个,有一个就可以了】 */ + /** + * 当前账号是否含有指定权限 , 【指定多个,有一个就可以了】 + * @param pcodeArray + */ public void checkPermissionOr(Object... pcodeArray){ Object login_id = getLoginId(); List pcodeList = SaTokenManager.getStp().getPermissionCodeList(login_id, login_key); @@ -285,19 +358,34 @@ public class StpLogic { // =================== 返回相应key =================== - /** 获取key:客户端 tokenName */ + /** + * 获取key:客户端 tokenName + * @return + */ public String getKey_tokenName() { return SaTokenManager.getConfig().getTokenName(); } - /** 获取key: tokenValue 持久化 */ + /** + * 获取key: tokenValue 持久化 + * @param tokenValue + * @return + */ public String getKey_TokenValue(String tokenValue) { return SaTokenManager.getConfig().getTokenName() + ":" + login_key + ":token:" + tokenValue; } - /** 获取key: id 持久化 */ + /** + * 获取key: id 持久化 + * @param login_id + * @return + */ public String getKey_LoginId(Object login_id) { return SaTokenManager.getConfig().getTokenName() + ":" + login_key + ":id:" + login_id; } - /** 获取key: session 持久化 */ + /** + * 获取key: session 持久化 + * @param login_id + * @return + */ public String getKey_session(Object login_id) { return SaTokenManager.getConfig().getTokenName() + ":" + login_key + ":session:" + login_id; } diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpUtil.java b/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpUtil.java index 40058e47582adec02596a898c9007cc914250fa7..3803472feae2eca71651738a367ad15f36e96460 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpUtil.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/stp/StpUtil.java @@ -19,110 +19,175 @@ public class StpUtil { // =================== 获取token 相关 =================== - /** 获取当前tokenValue */ + /** + * 获取当前tokenValue + * @return 当前tokenValue + */ public static String getTokenValue() { return stpLogic.getTokenValue(); } - /** 获取指定id的tokenValue */ + /** + * 获取指定id的tokenValue + * @param login_id + * @return + */ public static String getTokenValueByLoginId(Object login_id) { return stpLogic.getTokenValueByLoginId(login_id); } - /** 获取当前会话的token信息:tokenName与tokenValue */ + /** + * 获取当前会话的token信息:tokenName与tokenValue + * @return 一个Map对象 + */ public static Map getTokenInfo() { return stpLogic.getTokenInfo(); } // =================== 登录相关操作 =================== - /** 在当前会话上设置登录id,建议的类型:(long | int | String) */ + /** + * 在当前会话上登录id + * @param login_id 登录id ,建议的类型:(long | int | String) + */ public static void setLoginId(Object login_id) { stpLogic.setLoginId(login_id); } - /** 当前会话注销登录 */ + /** + * 当前会话注销登录 + */ public static void logout() { stpLogic.logout(); } - /** 指定login_id的会话注销登录(踢人下线) */ + /** + * 指定login_id的会话注销登录(踢人下线) + * @param login_id 账号id + */ public static void logoutByLoginId(Object login_id) { stpLogic.logoutByLoginId(login_id); } // 查询相关 - /** 获取当前会话是否已经登录 */ + /** + * 获取当前会话是否已经登录 + * @return 是否已登录 + */ public static boolean isLogin() { return stpLogic.isLogin(); } - /** 获取当前会话登录id, 如果未登录,则抛出异常 */ + /** + * 获取当前会话登录id, 如果未登录,则抛出异常 + * @return + */ public static Object getLoginId() { return stpLogic.getLoginId(); } - /** 获取当前会话登录id, 如果未登录,则返回默认值 */ + /** + * 获取当前会话登录id, 如果未登录,则返回默认值 + * @param default_value + * @return + */ public static T getLoginId(T default_value) { return stpLogic.getLoginId(default_value); } - /** 获取当前会话登录id, 如果未登录,则返回null */ + /** + * 获取当前会话登录id, 如果未登录,则返回null + * @return + */ public static Object getLoginId_defaultNull() { return stpLogic.getLoginId_defaultNull(); } - /** 获取当前会话登录id, 并转换为String */ + /** + * 获取当前会话登录id, 并转换为String + * @return + */ public static String getLoginId_asString() { return stpLogic.getLoginId_asString(); } - /** 获取当前会话登录id, 并转换为int */ + /** + * 获取当前会话登录id, 并转换为int + * @return + */ public static int getLoginId_asInt() { return stpLogic.getLoginId_asInt(); } - /** 获取当前会话登录id, 并转换为long */ + /** + * 获取当前会话登录id, 并转换为long + * @return + */ public static long getLoginId_asLong() { return stpLogic.getLoginId_asLong(); } // =================== session相关 =================== - /** 获取指定login_id的session */ + /** + * 获取指定login_id的session + * @param login_id + * @return + */ public static SaSession getSessionByLoginId(Object login_id) { return stpLogic.getSessionByLoginId(login_id); } - /** 获取当前会话的session */ + /** + * 获取当前会话的session + * @return + */ public static SaSession getSession() { return stpLogic.getSession(); } // =================== 权限验证操作 =================== - /** 指定login_id是否含有指定权限 */ + /** + * 指定login_id是否含有指定权限 + * @param login_id + * @param pcode + * @return + */ public static boolean hasPermission(Object login_id, Object pcode) { return stpLogic.hasPermission(login_id, pcode); } - /** 当前会话是否含有指定权限 */ + /** + * 当前会话是否含有指定权限 + * @param pcode + * @return + */ public static boolean hasPermission(Object pcode) { return stpLogic.hasPermission(pcode); } - /** 当前账号是否含有指定权限 , 没有就抛出异常 */ + /** + * 当前账号是否含有指定权限 , 没有就抛出异常 + * @param pcode + */ public static void checkPermission(Object pcode) { stpLogic.checkPermission(pcode); } - /** 当前账号是否含有指定权限 , 【指定多个,必须全都有】 */ + /** + * 当前账号是否含有指定权限 , 【指定多个,必须全都有】 + * @param pcodeArray + */ public static void checkPermissionAnd(Object... pcodeArray) { stpLogic.checkPermissionAnd(pcodeArray); } - /** 当前账号是否含有指定权限 , 【指定多个,有一个就可以了】 */ + /** + * 当前账号是否含有指定权限 , 【指定多个,有一个就可以了】 + * @param pcodeArray + */ public static void checkPermissionOr(Object... pcodeArray) { stpLogic.checkPermissionOr(pcodeArray); } diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/util/SaCookieUtil.java b/sa-token-dev/src/main/java/cn/dev33/satoken/util/SaCookieUtil.java index 1943d8c4066b934863cf9b6fa653adae29382e26..267d6c37c89a9d4895a7b88917389fabc0157304 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/util/SaCookieUtil.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/util/SaCookieUtil.java @@ -15,6 +15,9 @@ public class SaCookieUtil { /** * 获取指定cookie + * @param request + * @param cookieName + * @return */ public static Cookie getCookie(HttpServletRequest request, String cookieName) { Cookie[] cookies = request.getCookies(); @@ -32,6 +35,11 @@ public class SaCookieUtil { /** * 添加cookie + * @param response + * @param name + * @param value + * @param path + * @param timeout */ public static void addCookie(HttpServletResponse response,String name,String value,String path,int timeout) { Cookie cookie = new Cookie(name, value); @@ -46,6 +54,9 @@ public class SaCookieUtil { /** * 删除cookie + * @param request + * @param response + * @param name */ public static void delCookie(HttpServletRequest request,HttpServletResponse response,String name) { Cookie[] cookies = request.getCookies(); @@ -62,6 +73,10 @@ public class SaCookieUtil { /** * 修改cookie的value值 + * @param request + * @param response + * @param name + * @param value */ public static void updateCookie(HttpServletRequest request,HttpServletResponse response,String name,String value) { Cookie[] cookies = request.getCookies(); diff --git a/sa-token-dev/src/main/java/cn/dev33/satoken/util/SpringMVCUtil.java b/sa-token-dev/src/main/java/cn/dev33/satoken/util/SpringMVCUtil.java index 124715ba9ec4b6121735e31629470ca23c25945c..ef82c581870011d7e228debd223cd46929134069 100644 --- a/sa-token-dev/src/main/java/cn/dev33/satoken/util/SpringMVCUtil.java +++ b/sa-token-dev/src/main/java/cn/dev33/satoken/util/SpringMVCUtil.java @@ -13,7 +13,10 @@ import org.springframework.web.context.request.ServletRequestAttributes; */ public class SpringMVCUtil { - // 获取当前会话的 request + /** + * 获取当前会话的 request + * @return + */ public static HttpServletRequest getRequest() { ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();// 大善人SpringMVC提供的封装 if(servletRequestAttributes == null) { @@ -22,7 +25,10 @@ public class SpringMVCUtil { return servletRequestAttributes.getRequest(); } - // 获取当前会话的 + /** + * 获取当前会话的 response + * @return + */ public static HttpServletResponse getResponse() { ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();// 大善人SpringMVC提供的封装 if(servletRequestAttributes == null) { diff --git a/sa-token-doc/doc/start/download.md b/sa-token-doc/doc/start/download.md index 2bc1da8a5520ea01b9e31e08b5a9349801fb65e3..ff035a6f09dbef62a03e7db198612e15edd3c98f 100644 --- a/sa-token-doc/doc/start/download.md +++ b/sa-token-doc/doc/start/download.md @@ -2,7 +2,6 @@ ------ - ## 源码 你可以通过`github`或者`gitee`来获取源码 - github地址:[https://github.com/click33/sa-token](https://github.com/click33/sa-token) @@ -14,9 +13,20 @@ - sa-token-doc: 文档介绍 -## jar包下载 -[点击下载](https://color-test.oss-cn-qingdao.aliyuncs.com/sa-token/sa-token-spring-1.0.0.jar) +## jar包下载 +[点击下载:sa-token-1.0.0.jar](https://color-test.oss-cn-qingdao.aliyuncs.com/sa-token/sa-token-1.0.0.jar) + + +## maven依赖 +``` xml + + + cn.dev33 + sa-token + 1.0.0 + +``` diff --git a/sa-token-doc/doc/start/example.md b/sa-token-doc/doc/start/example.md index 7b369ad90a4dd500b164d3249cbafcf75e14be1e..797cc50d1e08b67a66ee2431bb445d94eb8f55f5 100644 --- a/sa-token-doc/doc/start/example.md +++ b/sa-token-doc/doc/start/example.md @@ -11,18 +11,15 @@ 在IDE中新建一个Springboot项目,例如:`sa-token-demo-springboot`(不会的同学请自行百度或者参考github示例) #### 2、设置jar包依赖 -- 在项目根目录新建文件夹`lib`,将 `sa-token-spring-xxx.jar` 复制到其中 -- 并在 `pom.xml` 中添加依赖: +- 在 `pom.xml` 中添加依赖: ``` xml - - - cn.dev33.sa-token - sa-token-spring - 1.0.0 - system - ${project.basedir}/lib/sa-token-spring-1.0.0.jar - + + + cn.dev33 + sa-token + 1.0.0 + ``` #### 3、配置文件