mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
解决当权限码为null时可能带来的空指针问题
This commit is contained in:
parent
c4c88105c0
commit
a2ec360aef
@ -111,13 +111,13 @@ public class SaSession implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 此 Session 绑定的 Token 签名列表
|
* 此 Session 绑定的 Token 签名列表
|
||||||
*/
|
*/
|
||||||
private Vector<TokenSign> tokenSignList = new Vector<>();
|
private List<TokenSign> tokenSignList = new Vector<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 写入此 Session 绑定的 Token 签名列表
|
* 写入此 Session 绑定的 Token 签名列表
|
||||||
* @param tokenSignList Token 签名列表
|
* @param tokenSignList Token 签名列表
|
||||||
*/
|
*/
|
||||||
public void setTokenSignList(Vector<TokenSign> tokenSignList) {
|
public void setTokenSignList(List<TokenSign> tokenSignList) {
|
||||||
this.tokenSignList = tokenSignList;
|
this.tokenSignList = tokenSignList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,13 +168,22 @@ public class SaFoxUtil {
|
|||||||
* @return 是否可以匹配
|
* @return 是否可以匹配
|
||||||
*/
|
*/
|
||||||
public static boolean vagueMatch(String patt, String str) {
|
public static boolean vagueMatch(String patt, String str) {
|
||||||
// 如果表达式不带有*号,则只需简单equals即可 (速度提升200倍)
|
// 两者均为 null 时,直接返回 true
|
||||||
|
if(patt == null && str == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 两者其一为 null 时,直接返回 false
|
||||||
|
if(patt == null || str == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// 如果表达式不带有*号,则只需简单equals即可 (这样可以使速度提升200倍左右)
|
||||||
if(patt.indexOf("*") == -1) {
|
if(patt.indexOf("*") == -1) {
|
||||||
return patt.equals(str);
|
return patt.equals(str);
|
||||||
}
|
}
|
||||||
|
// 正则匹配
|
||||||
return Pattern.matches(patt.replaceAll("\\*", ".*"), str);
|
return Pattern.matches(patt.replaceAll("\\*", ".*"), str);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将指定值转化为指定类型
|
* 将指定值转化为指定类型
|
||||||
* @param <T> 泛型
|
* @param <T> 泛型
|
||||||
|
@ -71,6 +71,9 @@ public class SaFoxUtilTest {
|
|||||||
Assertions.assertTrue(SaFoxUtil.vagueMatch("hello*", "hello world"));
|
Assertions.assertTrue(SaFoxUtil.vagueMatch("hello*", "hello world"));
|
||||||
Assertions.assertFalse(SaFoxUtil.vagueMatch("hello*", "he"));
|
Assertions.assertFalse(SaFoxUtil.vagueMatch("hello*", "he"));
|
||||||
Assertions.assertTrue(SaFoxUtil.vagueMatch("hello*", "hello*"));
|
Assertions.assertTrue(SaFoxUtil.vagueMatch("hello*", "hello*"));
|
||||||
|
Assertions.assertTrue(SaFoxUtil.vagueMatch(null, null));
|
||||||
|
Assertions.assertFalse(SaFoxUtil.vagueMatch(null, "hello"));
|
||||||
|
Assertions.assertFalse(SaFoxUtil.vagueMatch("hello*", null));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
Reference in New Issue
Block a user