mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
SaSsoConfig 新增配置 currSsoLogin,用于强制指定当前系统的 sso 登录地址
This commit is contained in:
parent
bd313849fc
commit
f90bd2cd6a
@ -117,6 +117,11 @@ public class SaSsoConfig implements Serializable {
|
||||
*/
|
||||
public String sloUrl = "/sso/signout";
|
||||
|
||||
/**
|
||||
* 配置当前 Client 端的登录地址(为空时自动获取)
|
||||
*/
|
||||
public String currSsoLogin;
|
||||
|
||||
/**
|
||||
* 配置当前 Client 端的单点注销回调URL (为空时自动获取)
|
||||
*/
|
||||
@ -311,14 +316,30 @@ public class SaSsoConfig implements Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 配置当前 Client 端的单点注销回调URL (为空时自动获取)
|
||||
* @return 配置当前 Client 端的登录地址(为空时自动获取)
|
||||
*/
|
||||
public String getCurrSsoLogin() {
|
||||
return currSsoLogin;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param currSsoLogin 配置当前 Client 端的登录地址(为空时自动获取)
|
||||
* @return 对象自身
|
||||
*/
|
||||
public SaSsoConfig setCurrSsoLogin(String currSsoLogin) {
|
||||
this.currSsoLogin = currSsoLogin;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 配置当前 Client 端的单点注销回调URL (为空时自动获取)
|
||||
*/
|
||||
public String getSsoLogoutCall() {
|
||||
return ssoLogoutCall;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ssoLogoutCall 配置当前 Client 端的单点注销回调URL (为空时自动获取)
|
||||
* @param ssoLogoutCall 配置当前 Client 端的单点注销回调URL (为空时自动获取)
|
||||
* @return 对象自身
|
||||
*/
|
||||
public SaSsoConfig setSsoLogoutCall(String ssoLogoutCall) {
|
||||
@ -374,7 +395,8 @@ public class SaSsoConfig implements Serializable {
|
||||
+ ", checkTicketUrl=" + checkTicketUrl
|
||||
+ ", getDataUrl=" + getDataUrl
|
||||
+ ", userinfoUrl=" + userinfoUrl
|
||||
+ ", sloUrl=" + sloUrl
|
||||
+ ", sloUrl=" + sloUrl
|
||||
+ ", currSsoLogin=" + currSsoLogin
|
||||
+ ", ssoLogoutCall=" + ssoLogoutCall
|
||||
+ ", serverUrl=" + serverUrl
|
||||
+ ", isCheckSign=" + isCheckSign
|
||||
|
@ -290,7 +290,16 @@ public class SaSsoProcessor {
|
||||
* 情况2:ticket有值,说明此请求从SSO认证中心重定向而来,需要根据ticket进行登录
|
||||
*/
|
||||
if(ticket == null) {
|
||||
String serverAuthUrl = ssoTemplate.buildServerAuthUrl(SaHolder.getRequest().getUrl(), back);
|
||||
// 获取当前项目的 sso 登录地址
|
||||
// 全局配置了就是用全局的,否则使用当前请求的地址
|
||||
String currSsoLoginUrl;
|
||||
if(SaFoxUtil.isNotEmpty(cfg.getCurrSsoLogin())) {
|
||||
currSsoLoginUrl = cfg.getCurrSsoLogin();
|
||||
} else {
|
||||
currSsoLoginUrl = SaHolder.getRequest().getUrl();
|
||||
}
|
||||
// 构建url
|
||||
String serverAuthUrl = ssoTemplate.buildServerAuthUrl(currSsoLoginUrl, back);
|
||||
return res.redirect(serverAuthUrl);
|
||||
} else {
|
||||
// ------- 1、校验ticket,获取 loginId
|
||||
|
Loading…
Reference in New Issue
Block a user