mirror of
https://gitee.com/dromara/sa-token.git
synced 2024-12-02 20:08:08 +08:00
重构 spliceTwoUrl 方法到 SaFoxUtil 工具类中
This commit is contained in:
parent
c74dfac8f2
commit
c7968826b6
@ -172,7 +172,7 @@ public final class SaStrategy {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 从元素上获取注解(注解鉴权内部实现)
|
* 从元素上获取注解
|
||||||
* <p> 参数 [element元素,要获取的注解类型]
|
* <p> 参数 [element元素,要获取的注解类型]
|
||||||
*/
|
*/
|
||||||
public BiFunction<AnnotatedElement, Class<? extends Annotation> , Annotation> getAnnotation = (element, annotationClass)->{
|
public BiFunction<AnnotatedElement, Class<? extends Annotation> , Annotation> getAnnotation = (element, annotationClass)->{
|
||||||
@ -182,7 +182,6 @@ public final class SaStrategy {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断一个 Method 或其所属 Class 是否包含指定注解
|
* 判断一个 Method 或其所属 Class 是否包含指定注解
|
||||||
*
|
|
||||||
* <p> 参数 [Method, 注解]
|
* <p> 参数 [Method, 注解]
|
||||||
*/
|
*/
|
||||||
public BiFunction<Method, AnnotatedElement, Boolean> isAnnotationPresent = (method, annotationClass) -> {
|
public BiFunction<Method, AnnotatedElement, Boolean> isAnnotationPresent = (method, annotationClass) -> {
|
||||||
@ -190,29 +189,6 @@ public final class SaStrategy {
|
|||||||
me.getAnnotation.apply(method.getDeclaringClass(), SaIgnore.class) != null;
|
me.getAnnotation.apply(method.getDeclaringClass(), SaIgnore.class) != null;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* 拼接两个url
|
|
||||||
* <p> 例如:url1=http://domain.cn,url2=/sso/auth,则返回:http://domain.cn/sso/auth
|
|
||||||
* <p> 参数 [第一个url, 第二个url]
|
|
||||||
*/
|
|
||||||
public BiFunction<String, String, String> spliceTwoUrl = (url1, url2) -> {
|
|
||||||
// q1、任意一个为空,则直接返回另一个
|
|
||||||
if(url1 == null) {
|
|
||||||
return url2;
|
|
||||||
}
|
|
||||||
if(url2 == null) {
|
|
||||||
return url1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// q2、如果 url2 以 http 开头,将其视为一个完整地址
|
|
||||||
if(url2.startsWith("http")) {
|
|
||||||
return url2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// q3、将两个地址拼接在一起
|
|
||||||
return url1 + url2;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// 重写策略 set连缀风格
|
// 重写策略 set连缀风格
|
||||||
@ -275,7 +251,7 @@ public final class SaStrategy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 从元素上获取注解(注解鉴权内部实现)
|
* 从元素上获取注解
|
||||||
* <p> 参数 [element元素,要获取的注解类型]
|
* <p> 参数 [element元素,要获取的注解类型]
|
||||||
* @param getAnnotation /
|
* @param getAnnotation /
|
||||||
* @return 对象自身
|
* @return 对象自身
|
||||||
@ -286,15 +262,14 @@ public final class SaStrategy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拼接两个url
|
* 判断一个 Method 或其所属 Class 是否包含指定注解
|
||||||
* <p> 例如:url1=http://domain.cn,url2=/sso/auth,则返回:http://domain.cn/sso/auth
|
* <p> 参数 [Method, 注解]
|
||||||
* <p> 参数 [第一个url, 第二个url]
|
* @param isAnnotationPresent /
|
||||||
*
|
* @return 对象自身
|
||||||
* @param spliceTwoUrl 要设置的 spliceTwoUrl
|
|
||||||
*/
|
*/
|
||||||
public void setSpliceTwoUrl(BiFunction<String, String, String> spliceTwoUrl) {
|
public SaStrategy setIsAnnotationPresent(BiFunction<Method, AnnotatedElement, Boolean> isAnnotationPresent) {
|
||||||
this.spliceTwoUrl = spliceTwoUrl;
|
this.isAnnotationPresent = isAnnotationPresent;
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -334,6 +334,32 @@ public class SaFoxUtil {
|
|||||||
return joinSharpParam(url, key + "=" + value);
|
return joinSharpParam(url, key + "=" + value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拼接两个url
|
||||||
|
* <p> 例如:url1=http://domain.cn,url2=/sso/auth,则返回:http://domain.cn/sso/auth </p>
|
||||||
|
*
|
||||||
|
* @param url1 第一个url
|
||||||
|
* @param url2 第二个url
|
||||||
|
* @return 拼接完成的url
|
||||||
|
*/
|
||||||
|
public static String spliceTwoUrl(String url1, String url2) {
|
||||||
|
// q1、任意一个为空,则直接返回另一个
|
||||||
|
if(url1 == null) {
|
||||||
|
return url2;
|
||||||
|
}
|
||||||
|
if(url2 == null) {
|
||||||
|
return url1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// q2、如果 url2 以 http 开头,将其视为一个完整地址
|
||||||
|
if(url2.startsWith("http")) {
|
||||||
|
return url2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// q3、将两个地址拼接在一起
|
||||||
|
return url1 + url2;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将数组的所有元素使用逗号拼接在一起
|
* 将数组的所有元素使用逗号拼接在一起
|
||||||
* @param arr 数组
|
* @param arr 数组
|
||||||
|
@ -7,7 +7,6 @@ import java.util.function.Function;
|
|||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import cn.dev33.satoken.exception.SaTokenException;
|
import cn.dev33.satoken.exception.SaTokenException;
|
||||||
import cn.dev33.satoken.strategy.SaStrategy;
|
|
||||||
import cn.dev33.satoken.util.SaFoxUtil;
|
import cn.dev33.satoken.util.SaFoxUtil;
|
||||||
import cn.dev33.satoken.util.SaResult;
|
import cn.dev33.satoken.util.SaResult;
|
||||||
|
|
||||||
@ -323,28 +322,28 @@ public class SaSsoConfig implements Serializable {
|
|||||||
* @return 获取拼接url:Server 端单点登录授权地址
|
* @return 获取拼接url:Server 端单点登录授权地址
|
||||||
*/
|
*/
|
||||||
public String splicingAuthUrl() {
|
public String splicingAuthUrl() {
|
||||||
return SaStrategy.me.spliceTwoUrl.apply(getServerUrl(), getAuthUrl());
|
return SaFoxUtil.spliceTwoUrl(getServerUrl(), getAuthUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return 获取拼接url:Server 端的 ticket 校验地址
|
* @return 获取拼接url:Server 端的 ticket 校验地址
|
||||||
*/
|
*/
|
||||||
public String splicingCheckTicketUrl() {
|
public String splicingCheckTicketUrl() {
|
||||||
return SaStrategy.me.spliceTwoUrl.apply(getServerUrl(), getCheckTicketUrl());
|
return SaFoxUtil.spliceTwoUrl(getServerUrl(), getCheckTicketUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return 获取拼接url:Server 端查询 userinfo 地址
|
* @return 获取拼接url:Server 端查询 userinfo 地址
|
||||||
*/
|
*/
|
||||||
public String splicingUserinfoUrl() {
|
public String splicingUserinfoUrl() {
|
||||||
return SaStrategy.me.spliceTwoUrl.apply(getServerUrl(), getUserinfoUrl());
|
return SaFoxUtil.spliceTwoUrl(getServerUrl(), getUserinfoUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return 获取拼接url:Server 端单点注销地址
|
* @return 获取拼接url:Server 端单点注销地址
|
||||||
*/
|
*/
|
||||||
public String splicingSloUrl() {
|
public String splicingSloUrl() {
|
||||||
return SaStrategy.me.spliceTwoUrl.apply(getServerUrl(), getSloUrl());
|
return SaFoxUtil.spliceTwoUrl(getServerUrl(), getSloUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user