Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Pig
提交
c6e0ae50
P
Pig
项目概览
int
/
Pig
上一次同步 12 个月
通知
8
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Pig
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c6e0ae50
编写于
10月 11, 2021
作者:
M
MicLng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🐛
Fixing a bug. close #I4DENS 开放平台退出报错 健壮性处理
上级
bcf17b75
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
13 deletion
+23
-13
pig-auth/src/main/java/com/pig4cloud/pig/auth/handler/PigLogoutSuccessEventHandler.java
...4cloud/pig/auth/handler/PigLogoutSuccessEventHandler.java
+7
-3
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/WebUtils.java
...ain/java/com/pig4cloud/pig/common/core/util/WebUtils.java
+13
-10
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/handler/SsoLogoutSuccessHandler.java
.../pig/common/security/handler/SsoLogoutSuccessHandler.java
+3
-0
未找到文件。
pig-auth/src/main/java/com/pig4cloud/pig/auth/handler/PigLogoutSuccessEventHandler.java
浏览文件 @
c6e0ae50
...
...
@@ -18,14 +18,15 @@ package com.pig4cloud.pig.auth.handler;
import
com.pig4cloud.pig.admin.api.entity.SysLog
;
import
com.pig4cloud.pig.common.core.util.SpringContextHolder
;
import
com.pig4cloud.pig.common.core.util.WebUtils
;
import
com.pig4cloud.pig.common.log.event.SysLogEvent
;
import
com.pig4cloud.pig.common.log.util.SysLogUtils
;
import
com.pig4cloud.pig.common.security.handler.AbstractLogoutSuccessEventHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.security.oauth2.provider.OAuth2Authentication
;
import
org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails
;
import
org.springframework.stereotype.Component
;
/**
...
...
@@ -46,14 +47,17 @@ public class PigLogoutSuccessEventHandler extends AbstractLogoutSuccessEventHand
public
void
handle
(
Authentication
authentication
)
{
log
.
info
(
"用户:{} 退出成功"
,
authentication
.
getPrincipal
());
SecurityContextHolder
.
getContext
().
setAuthentication
(
authentication
);
SysLog
logVo
=
SysLogUtils
.
getSysLog
();
logVo
.
setTitle
(
"退出成功"
);
OAuth2AuthenticationDetails
authenticationDetails
=
(
OAuth2AuthenticationDetails
)
authentication
.
getDetails
();
logVo
.
setParams
(
authenticationDetails
==
null
?
null
:
authenticationDetails
.
getTokenValue
());
// 发送异步日志事件
Long
startTime
=
System
.
currentTimeMillis
();
Long
endTime
=
System
.
currentTimeMillis
();
logVo
.
setTime
(
endTime
-
startTime
);
// 设置对应的token
WebUtils
.
getRequest
().
ifPresent
(
request
->
logVo
.
setParams
(
request
.
getHeader
(
HttpHeaders
.
AUTHORIZATION
)));
// 这边设置ServiceId
if
(
authentication
instanceof
OAuth2Authentication
)
{
OAuth2Authentication
auth2Authentication
=
(
OAuth2Authentication
)
authentication
;
...
...
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/util/WebUtils.java
浏览文件 @
c6e0ae50
...
...
@@ -25,7 +25,6 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.server.reactive.ServerHttpRequest
;
import
org.springframework.util.Assert
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
...
...
@@ -39,6 +38,7 @@ import java.io.IOException;
import
java.io.PrintWriter
;
import
java.io.UnsupportedEncodingException
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Optional
;
/**
* Miscellaneous utilities for web applications.
...
...
@@ -69,9 +69,10 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
* @return cookie value
*/
public
String
getCookieVal
(
String
name
)
{
HttpServletRequest
request
=
WebUtils
.
getRequest
();
Assert
.
notNull
(
request
,
"request from RequestContextHolder is null"
);
return
getCookieVal
(
request
,
name
);
if
(
WebUtils
.
getRequest
().
isPresent
())
{
return
getCookieVal
(
WebUtils
.
getRequest
().
get
(),
name
);
}
return
null
;
}
/**
...
...
@@ -113,8 +114,9 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
* 获取 HttpServletRequest
* @return {HttpServletRequest}
*/
public
HttpServletRequest
getRequest
()
{
return
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
public
Optional
<
HttpServletRequest
>
getRequest
()
{
return
Optional
.
ofNullable
(((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
());
}
/**
...
...
@@ -158,15 +160,16 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
@SneakyThrows
public
String
getClientId
(
ServerHttpRequest
request
)
{
String
header
=
request
.
getHeaders
().
getFirst
(
HttpHeaders
.
AUTHORIZATION
);
return
splitClient
(
header
)[
0
];
}
@SneakyThrows
public
String
getClientId
(
HttpServletRequest
request
)
{
String
header
=
WebUtils
.
getRequest
().
getHeader
(
"Authorization"
);
return
splitClient
(
header
)[
0
];
if
(
WebUtils
.
getRequest
().
isPresent
())
{
String
header
=
WebUtils
.
getRequest
().
get
().
getHeader
(
HttpHeaders
.
AUTHORIZATION
);
return
splitClient
(
header
)[
0
];
}
return
null
;
}
@NotNull
...
...
pig-common/pig-common-security/src/main/java/com/pig4cloud/pig/common/security/handler/SsoLogoutSuccessHandler.java
浏览文件 @
c6e0ae50
...
...
@@ -22,6 +22,9 @@ public class SsoLogoutSuccessHandler implements LogoutSuccessHandler {
@Override
public
void
onLogoutSuccess
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Authentication
authentication
)
throws
IOException
{
if
(
response
==
null
)
{
return
;
}
// 获取请求参数中是否包含 回调地址
String
redirectUrl
=
request
.
getParameter
(
REDIRECT_URL
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录