Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜欢杯子
microservices-platform
提交
c62acfa5
microservices-platform
项目概览
喜欢杯子
/
microservices-platform
与 Fork 源项目一致
Fork自
whatyn / microservices-platform
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
microservices-platform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c62acfa5
编写于
3月 10, 2020
作者:
zlt2000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化授权中心登出接口,支持自定义跳转地址
上级
38b8a1fb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
48 addition
and
2 deletion
+48
-2
zlt-uaa/src/main/java/com/central/oauth/config/SecurityConfig.java
...rc/main/java/com/central/oauth/config/SecurityConfig.java
+2
-2
zlt-uaa/src/main/java/com/central/oauth/handler/OauthLogoutSuccessHandler.java
.../com/central/oauth/handler/OauthLogoutSuccessHandler.java
+46
-0
未找到文件。
zlt-uaa/src/main/java/com/central/oauth/config/SecurityConfig.java
浏览文件 @
c62acfa5
package
com.central.oauth.config
;
import
com.central.common.constant.SecurityConstants
;
import
com.central.oauth.handler.OauthLogoutSuccessHandler
;
import
com.central.oauth.mobile.MobileAuthenticationSecurityConfig
;
import
com.central.oauth.openid.OpenIdAuthenticationSecurityConfig
;
import
com.central.common.config.DefaultPasswordConfig
;
...
...
@@ -84,8 +85,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.
and
()
.
logout
()
.
logoutUrl
(
SecurityConstants
.
LOGOUT_URL
)
.
logoutSuccessUrl
(
SecurityConstants
.
LOGIN_PAGE
)
.
logoutSuccessHandler
(
new
HttpStatusReturningLogoutSuccessHandler
())
.
logoutSuccessHandler
(
new
OauthLogoutSuccessHandler
())
.
addLogoutHandler
(
oauthLogoutHandler
)
.
clearAuthentication
(
true
)
.
and
()
...
...
zlt-uaa/src/main/java/com/central/oauth/handler/OauthLogoutSuccessHandler.java
0 → 100644
浏览文件 @
c62acfa5
package
com.central.oauth.handler
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.central.common.model.Result
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.web.DefaultRedirectStrategy
;
import
org.springframework.security.web.RedirectStrategy
;
import
org.springframework.security.web.authentication.logout.LogoutSuccessHandler
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
/**
* @author zlt
* @date 2020/3/10
* <p>
* Blog: https://blog.csdn.net/zlt2000
* Github: https://github.com/zlt2000
*/
@Slf4j
public
class
OauthLogoutSuccessHandler
implements
LogoutSuccessHandler
{
private
RedirectStrategy
redirectStrategy
=
new
DefaultRedirectStrategy
();
@Override
public
void
onLogoutSuccess
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Authentication
authentication
)
throws
IOException
{
String
redirectUri
=
request
.
getParameter
(
"redirectUri"
);
if
(
StrUtil
.
isNotEmpty
(
redirectUri
))
{
//重定向指定的地址
redirectStrategy
.
sendRedirect
(
request
,
response
,
redirectUri
);
}
else
{
response
.
setStatus
(
HttpStatus
.
OK
.
value
());
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setContentType
(
MediaType
.
APPLICATION_JSON_UTF8_VALUE
);
PrintWriter
writer
=
response
.
getWriter
();
String
jsonStr
=
JSON
.
toJSONString
(
Result
.
succeed
(
"登出成功"
));
writer
.
write
(
jsonStr
);
writer
.
flush
();
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录