update sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java.

This commit is contained in:
xiaoshitou
2021-02-13 18:28:11 +08:00
committed by Gitee
parent 8e4532e1f6
commit 85e5e2b558

View File

@@ -1,5 +1,7 @@
package cn.dev33.satoken.session;
import cn.dev33.satoken.SaTokenManager;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
@@ -7,8 +9,6 @@ import java.util.Set;
import java.util.Vector;
import java.util.concurrent.ConcurrentHashMap;
import cn.dev33.satoken.SaTokenManager;
/**
* Session Model
*
@@ -26,7 +26,7 @@ public class SaSession implements Serializable {
private long createTime;
/** 此Session的所有挂载数据 */
private Map<String, Object> dataMap = new ConcurrentHashMap<String, Object>();
private final Map<String, Object> dataMap = new ConcurrentHashMap<>();
// ----------------------- 构建相关
@@ -87,7 +87,7 @@ public class SaSession implements Serializable {
/**
* 此Session绑定的token签名列表
*/
private List<TokenSign> tokenSignList = new Vector<TokenSign>();
private final List<TokenSign> tokenSignList = new Vector<>();
/**
* 返回token签名列表的拷贝副本
@@ -119,16 +119,18 @@ public class SaSession implements Serializable {
* @param tokenSign token签名
*/
public void addTokenSign(TokenSign tokenSign) {
// 判断是否存在列表
boolean tokenExits = this.getTokenSignList()
.stream()
.map(TokenSign::getValue)
.anyMatch(it -> it.equals(tokenSign.getValue()));
// 如果已经存在于列表中,则无需再次添加
for (TokenSign tokenSign2 : getTokenSignList()) {
if (tokenSign2.getValue().equals(tokenSign.getValue())) {
return;
}
}
if (tokenExits == false) {
// 添加并更新
tokenSignList.add(tokenSign);
update();
}
}
/**
* 移除一个token签名
@@ -205,7 +207,7 @@ public class SaSession implements Serializable {
* @return 是否含有
*/
public boolean containsAttribute(String key) {
return dataMap.keySet().contains(key);
return dataMap.containsKey(key);
}
/**