Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zlt2000
microservices-platform
提交
8cb3fbfc
microservices-platform
项目概览
zlt2000
/
microservices-platform
9 个月 前同步成功
通知
16
Star
4
Fork
3
代码
文件
提交
分支
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 搜索 >>
提交
8cb3fbfc
编写于
7月 10, 2022
作者:
Z
zhult13
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
用户信息赋值 context 对象
上级
2a5a9444
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
3 deletion
+35
-3
zlt-commons/zlt-auth-client-spring-boot-starter/src/main/java/com/central/oauth2/common/util/AuthUtils.java
...c/main/java/com/central/oauth2/common/util/AuthUtils.java
+35
-3
未找到文件。
zlt-commons/zlt-auth-client-spring-boot-starter/src/main/java/com/central/oauth2/common/util/AuthUtils.java
浏览文件 @
8cb3fbfc
...
...
@@ -2,11 +2,14 @@ package com.central.oauth2.common.util;
import
com.central.common.constant.CommonConstant
;
import
com.central.common.constant.SecurityConstants
;
import
com.central.common.context.LoginUserContextHolder
;
import
com.central.common.model.SysUser
;
import
com.central.common.utils.SpringUtil
;
import
com.central.oauth2.common.token.CustomWebAuthenticationDetails
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.security.authentication.AnonymousAuthenticationToken
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.security.oauth2.common.OAuth2AccessToken
;
import
org.springframework.security.oauth2.common.exceptions.InvalidTokenException
;
import
org.springframework.security.oauth2.common.exceptions.UnapprovedClientAuthenticationException
;
...
...
@@ -22,6 +25,9 @@ import java.util.*;
*
* @author zlt
* @date 2018/5/13
* <p>
* Blog: https://zlt2000.gitee.io
* Github: https://github.com/zlt2000
*/
@Slf4j
public
class
AuthUtils
{
...
...
@@ -71,12 +77,12 @@ public class AuthUtils {
/**
* 校验accessToken
*/
public
static
void
checkAccessToken
(
HttpServletRequest
request
)
{
public
static
SysUser
checkAccessToken
(
HttpServletRequest
request
)
{
String
accessToken
=
extractToken
(
request
);
checkAccessToken
(
accessToken
);
return
checkAccessToken
(
accessToken
);
}
public
static
void
checkAccessToken
(
String
accessTokenValue
)
{
public
static
SysUser
checkAccessToken
(
String
accessTokenValue
)
{
TokenStore
tokenStore
=
SpringUtil
.
getBean
(
TokenStore
.
class
);
OAuth2AccessToken
accessToken
=
tokenStore
.
readAccessToken
(
accessTokenValue
);
if
(
accessToken
==
null
||
accessToken
.
getValue
()
==
null
)
{
...
...
@@ -89,6 +95,17 @@ public class AuthUtils {
if
(
result
==
null
)
{
throw
new
InvalidTokenException
(
"Invalid access token: "
+
accessTokenValue
);
}
return
setContext
(
result
);
}
/**
* 用户信息赋值 context 对象
*/
public
static
SysUser
setContext
(
Authentication
authentication
)
{
SecurityContextHolder
.
getContext
().
setAuthentication
(
authentication
);
SysUser
user
=
getUser
(
authentication
);
LoginUserContextHolder
.
setUser
(
user
);
return
user
;
}
/**
...
...
@@ -132,6 +149,21 @@ public class AuthUtils {
return
username
;
}
/**
* 获取登陆的用户对象
*/
public
static
SysUser
getUser
(
Authentication
authentication
)
{
SysUser
user
=
null
;
if
(
authentication
!=
null
&&
!(
authentication
instanceof
AnonymousAuthenticationToken
))
{
Object
principal
=
authentication
.
getPrincipal
();
//客户端模式只返回一个clientId
if
(
principal
instanceof
SysUser
)
{
user
=
(
SysUser
)
principal
;
}
}
return
user
;
}
/**
* 获取登陆的帐户类型
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录