将 SaSsoConfig 中不必要的 get set 标注为过期

This commit is contained in:
click33
2024-04-27 17:36:00 +08:00
parent 21a4f66595
commit bd313849fc
9 changed files with 56 additions and 38 deletions

View File

@@ -30,22 +30,22 @@ public class SsoConfig {
public void configSso(SaSsoConfig sso) { //SaSsoConfig 已自动构建
// 配置未登录时返回的View
sso.setNotLoginView(() -> {
sso.notLoginView = () -> {
return new ModelAndView("sa-login.html");
});
};
// 配置:登录处理函数
sso.setDoLoginHandle((name, pwd) -> {
sso.doLoginHandle = (name, pwd) -> {
// 此处仅做模拟登录,真实环境应该查询数据进行登录
if("sa".equals(name) && "123456".equals(pwd)) {
StpUtil.login(10001);
return SaResult.ok("登录成功!").setData(StpUtil.getTokenValue());
}
return SaResult.error("登录失败!");
});
};
// 配置 Http 请求处理器 (在模式三的单点注销功能下用到,如不需要可以注释掉)
sso.setSendHttp(url -> {
sso.sendHttp = url -> {
try {
// 发起 http 请求
System.out.println("------ 发起请求:" + url);
@@ -54,6 +54,6 @@ public class SsoConfig {
e.printStackTrace();
return null;
}
});
};
}
}

View File

@@ -14,9 +14,9 @@ public class SsoConfig {
@Bean
private void configSso(SaSsoConfig sso) {
// 配置Http请求处理器
sso.setSendHttp(url -> {
sso.sendHttp = url -> {
System.out.println("------ 发起请求:" + url);
return Forest.get(url).executeAsString();
});
};
}
}

View File

@@ -37,22 +37,22 @@ public class SsoServerController {
private void configSso(SaSsoConfig sso) {
// 配置未登录时返回的View
sso.setNotLoginView(() -> {
sso.notLoginView = () -> {
return new ModelAndView("sa-login.html");
});
};
// 配置:登录处理函数
sso.setDoLoginHandle((name, pwd) -> {
sso.doLoginHandle = (name, pwd) -> {
// 此处仅做模拟登录,真实环境应该查询数据进行登录
if("sa".equals(name) && "123456".equals(pwd)) {
StpUtil.login(10001);
return SaResult.ok("登录成功!").setData(StpUtil.getTokenValue());
}
return SaResult.error("登录失败!");
});
};
// 配置 Http 请求处理器 (在模式三的单点注销功能下用到,如不需要可以注释掉)
sso.setSendHttp(url -> {
sso.sendHttp = url -> {
try {
// 发起 http 请求
System.out.println("------ 发起请求:" + url);
@@ -61,7 +61,7 @@ public class SsoServerController {
e.printStackTrace();
return null;
}
});
};
}
// 示例:获取数据接口(用于在模式三下,为 client 端开放拉取数据的接口)

View File

@@ -46,10 +46,10 @@ public class SsoClientController {
@Autowired
private void configSso(SaSsoConfig sso) {
// 配置Http请求处理器
sso.setSendHttp(url -> {
sso.sendHttp = url -> {
System.out.println("------ 发起请求:" + url);
return Forest.get(url).executeAsString();
});
};
}
// 查询我的账号信息

View File

@@ -104,25 +104,25 @@ public class SsoServerController {
@Autowired
private void configSso(SaSsoConfig sso) {
// 配置未登录时返回的View
sso.setNotLoginView(() -> {
sso.notLoginView = () -> {
String msg = "当前会话在SSO-Server端尚未登录请先访问"
+ "<a href='/sso/doLogin?name=sa&pwd=123456' target='_blank'> doLogin登录 </a>"
+ "进行登录之后,刷新页面开始授权";
return msg;
});
};
// 配置:登录处理函数
sso.setDoLoginHandle((name, pwd) -> {
sso.doLoginHandle = (name, pwd) -> {
// 此处仅做模拟登录,真实环境应该查询数据进行登录
if("sa".equals(name) && "123456".equals(pwd)) {
StpUtil.login(10001);
return SaResult.ok("登录成功!").setData(StpUtil.getTokenValue());
}
return SaResult.error("登录失败!");
});
};
// 配置 Http 请求处理器 (在模式三的单点注销功能下用到,如不需要可以注释掉)
sso.setSendHttp(url -> {
sso.sendHttp = url -> {
try {
// 发起 http 请求
System.out.println("------ 发起请求:" + url);
@@ -131,7 +131,7 @@ public class SsoServerController {
e.printStackTrace();
return null;
}
});
};
}
}

View File

@@ -51,10 +51,10 @@ private void configSso(SaSsoConfig sso) {
// ... 其他代码
// 配置 Http 请求处理器
sso.setSendHttp(url -> {
sso.sendHttp = url -> {
System.out.println("------ 发起请求:" + url);
return Forest.get(url).executeAsString();
});
};
}
```

View File

@@ -434,14 +434,14 @@ public class SaSsoConfig implements Serializable {
/**
* SSO-Server端未登录时返回的View
* SSO-Server端未登录时返回的View
*/
public Supplier<Object> notLoginView = () -> {
return "当前会话在SSO-Server认证中心尚未登录当前未配置登录视图";
};
/**
* SSO-Server端登录函数
* SSO-Server端登录函数
*/
public BiFunction<String, String, Object> doLoginHandle = (name, pwd) -> {
return SaResult.error();
@@ -450,78 +450,96 @@ public class SaSsoConfig implements Serializable {
/**
* SSO-Client端自定义校验Ticket返回值的处理逻辑 每次从认证中心获取校验Ticket的结果后调用
* <p> 参数loginId, back
* <p> 返回值:返回给前端的值
* <p> 返回值:返回给前端的值
*/
public BiFunction<Object, String, Object> ticketResultHandle = null;
/**
* SSO-Client端发送Http请求的处理函数
* SSO-Client端发送Http请求的处理函数
*/
public Function<String, String> sendHttp = url -> {
throw new SaSsoException("请配置 Http 请求处理器").setCode(SaSsoErrorCode.CODE_30010);
};
// -------------------- 废弃方法 --------------------
/**
* <h2> 属性为 public请直接访问 </h2>
* @param notLoginView SSO-Server端未登录时返回的View
* @return 对象自身
*/
@Deprecated
public SaSsoConfig setNotLoginView(Supplier<Object> notLoginView) {
this.notLoginView = notLoginView;
return this;
}
/**
* <h2> 属性为 public请直接访问 </h2>
* @return 函数 SSO-Server端未登录时返回的View
*/
@Deprecated
public Supplier<Object> getNotLoginView() {
return notLoginView;
}
/**
* @param doLoginHandle SSO-Server端登录函数
* <h2> 属性为 public请直接访问 </h2>
* @param doLoginHandle SSO-Server端登录函数
* @return 对象自身
*/
@Deprecated
public SaSsoConfig setDoLoginHandle(BiFunction<String, String, Object> doLoginHandle) {
this.doLoginHandle = doLoginHandle;
return this;
}
/**
* <h2> 属性为 public请直接访问 </h2>
* @return 函数 SSO-Server端登录函数
*/
@Deprecated
public BiFunction<String, String, Object> getDoLoginHandle() {
return doLoginHandle;
}
/**
* <h2> 属性为 public请直接访问 </h2>
* @param ticketResultHandle SSO-Client端自定义校验Ticket返回值的处理逻辑 每次从认证中心获取校验Ticket的结果后调用
* @return 对象自身
*/
@Deprecated
public SaSsoConfig setTicketResultHandle(BiFunction<Object, String, Object> ticketResultHandle) {
this.ticketResultHandle = ticketResultHandle;
return this;
}
/**
* <h2> 属性为 public请直接访问 </h2>
* @return 函数 SSO-Client端自定义校验Ticket返回值的处理逻辑 每次从认证中心获取校验Ticket的结果后调用
*/
@Deprecated
public BiFunction<Object, String, Object> getTicketResultHandle() {
return ticketResultHandle;
}
/**
* @param sendHttp SSO-Client端发送Http请求的处理函数
* @return 对象自身
* <h2> 属性为 public请直接访问 </h2>
* @param sendHttp SSO-Client端发送Http请求的处理函数
* @return 对象自身
*/
@Deprecated
public SaSsoConfig setSendHttp(Function<String, String> sendHttp) {
this.sendHttp = sendHttp;
return this;
}
/**
* <h2> 属性为 public请直接访问 </h2>
* @return 函数 SSO-Client端发送Http请求的处理函数
*/
@Deprecated
public Function<String, String> getSendHttp() {
return sendHttp;
}

View File

@@ -95,7 +95,7 @@ public class SaSsoProcessor {
// ---------- 此处有两种情况分开处理:
// ---- 情况1在SSO认证中心尚未登录需要先去登录
if( ! stpLogic.isLogin()) {
return cfg.getNotLoginView().get();
return cfg.notLoginView.get();
}
// ---- 情况2在SSO认证中心已经登录需要重定向回 Client 端,而这又分为两种方式:
String mode = req.getParam(paramName.mode, "");
@@ -123,7 +123,7 @@ public class SaSsoProcessor {
ParamName paramName = ssoTemplate.paramName;
// 处理
return cfg.getDoLoginHandle().apply(req.getParam(paramName.name), req.getParam(paramName.pwd));
return cfg.doLoginHandle.apply(req.getParam(paramName.name), req.getParam(paramName.pwd));
}
/**
@@ -297,8 +297,8 @@ public class SaSsoProcessor {
Object loginId = checkTicket(ticket, apiName.ssoLogin);
// Be: 如果开发者自定义了处理逻辑
if(cfg.getTicketResultHandle() != null) {
return cfg.getTicketResultHandle().apply(loginId, back);
if(cfg.ticketResultHandle != null) {
return cfg.ticketResultHandle.apply(loginId, back);
}
// ------- 2、如果 loginId 无值,说明 ticket 无效

View File

@@ -350,7 +350,7 @@ public class SaSsoTemplate {
Set<String> urlSet = session.get(SaSsoConsts.SLO_CALLBACK_SET_KEY, HashSet::new);
for (String url : urlSet) {
url = joinLoginIdAndSign(url, loginId);
cfg.getSendHttp().apply(url);
cfg.sendHttp.apply(url);
}
// step.2 Server端注销
@@ -375,7 +375,7 @@ public class SaSsoTemplate {
*/
public Object getData(String path, Map<String, Object> paramMap) {
String url = buildCustomPathUrl(path, paramMap);
return SaSsoManager.getConfig().getSendHttp().apply(url);
return SaSsoManager.getConfig().sendHttp.apply(url);
}
@@ -547,7 +547,7 @@ public class SaSsoTemplate {
* @return 返回的结果
*/
public SaResult request(String url) {
String body = SaSsoManager.getConfig().getSendHttp().apply(url);
String body = SaSsoManager.getConfig().sendHttp.apply(url);
Map<String, Object> map = SaManager.getSaJsonTemplate().parseJsonToMap(body);
return new SaResult(map);
}