Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-cloud-core
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-cloud-core
Commits
f0b21d20
Commit
f0b21d20
authored
Sep 28, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
日志
parent
2571d69f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
0 deletions
+17
-0
yd-auth-core/src/main/java/com/yd/auth/core/security/JwtAuthenticationEntryPoint.java
+3
-0
yd-auth-core/src/main/java/com/yd/auth/core/security/JwtAuthenticationFilter.java
+3
-0
yd-auth-core/src/main/java/com/yd/auth/core/service/impl/AuthServiceImpl.java
+5
-0
yd-auth-core/src/main/java/com/yd/auth/core/service/impl/AuthUserDetailsService.java
+5
-0
yd-common/src/main/java/com/yd/common/enums/CommonEnum.java
+1
-0
No files found.
yd-auth-core/src/main/java/com/yd/auth/core/security/JwtAuthenticationEntryPoint.java
View file @
f0b21d20
package
com
.
yd
.
auth
.
core
.
security
;
package
com
.
yd
.
auth
.
core
.
security
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.security.core.AuthenticationException
;
import
org.springframework.security.core.AuthenticationException
;
import
org.springframework.security.web.AuthenticationEntryPoint
;
import
org.springframework.security.web.AuthenticationEntryPoint
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -8,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -8,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
@Slf4j
@Component
@Component
public
class
JwtAuthenticationEntryPoint
implements
AuthenticationEntryPoint
{
public
class
JwtAuthenticationEntryPoint
implements
AuthenticationEntryPoint
{
...
@@ -16,6 +18,7 @@ public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
...
@@ -16,6 +18,7 @@ public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
HttpServletResponse
response
,
HttpServletResponse
response
,
AuthenticationException
authException
)
throws
IOException
{
AuthenticationException
authException
)
throws
IOException
{
log
.
info
(
"JwtAuthenticationEntryPoint commence:{}"
,
"未经授权的访问"
);
// 设置响应类型为JSON
// 设置响应类型为JSON
response
.
setContentType
(
"application/json;charset=UTF-8"
);
response
.
setContentType
(
"application/json;charset=UTF-8"
);
// 直接设置401状态码
// 直接设置401状态码
...
...
yd-auth-core/src/main/java/com/yd/auth/core/security/JwtAuthenticationFilter.java
View file @
f0b21d20
...
@@ -9,6 +9,7 @@ import com.yd.user.feign.request.sysuser.ApiSysUserDetailBodyRequest;
...
@@ -9,6 +9,7 @@ import com.yd.user.feign.request.sysuser.ApiSysUserDetailBodyRequest;
import
com.yd.user.feign.response.sysuser.ApiSysUserDetailResponse
;
import
com.yd.user.feign.response.sysuser.ApiSysUserDetailResponse
;
import
com.yd.user.service.model.SysUser
;
import
com.yd.user.service.model.SysUser
;
import
com.yd.user.service.service.ISysUserService
;
import
com.yd.user.service.service.ISysUserService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
...
@@ -26,6 +27,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -26,6 +27,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Objects
;
import
java.util.Objects
;
@Slf4j
@Component
@Component
public
class
JwtAuthenticationFilter
extends
OncePerRequestFilter
{
public
class
JwtAuthenticationFilter
extends
OncePerRequestFilter
{
...
@@ -52,6 +54,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
...
@@ -52,6 +54,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
// 1. 从HTTP请求中解析JWT令牌(通常从Authorization头获取)
// 1. 从HTTP请求中解析JWT令牌(通常从Authorization头获取)
String
token
=
resolveToken
(
request
);
String
token
=
resolveToken
(
request
);
log
.
info
(
"从HTTP请求中解析JWT令牌(通常从Authorization头获取):{}"
,
token
);
// 2. 检查令牌是否存在且有效
// 2. 检查令牌是否存在且有效
if
(
token
!=
null
&&
tokenProvider
.
validateToken
(
token
))
{
if
(
token
!=
null
&&
tokenProvider
.
validateToken
(
token
))
{
...
...
yd-auth-core/src/main/java/com/yd/auth/core/service/impl/AuthServiceImpl.java
View file @
f0b21d20
package
com
.
yd
.
auth
.
core
.
service
.
impl
;
package
com
.
yd
.
auth
.
core
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.yd.auth.core.config.LoginConfig
;
import
com.yd.auth.core.config.LoginConfig
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.request.LoginRequest
;
import
com.yd.auth.core.request.LoginRequest
;
...
@@ -11,6 +12,7 @@ import com.yd.common.utils.RedisUtil;
...
@@ -11,6 +12,7 @@ import com.yd.common.utils.RedisUtil;
import
com.yd.common.utils.SM3Util
;
import
com.yd.common.utils.SM3Util
;
import
com.yd.user.service.model.SysUser
;
import
com.yd.user.service.model.SysUser
;
import
com.yd.user.service.service.ISysUserService
;
import
com.yd.user.service.service.ISysUserService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.security.authentication.AuthenticationManager
;
import
org.springframework.security.authentication.AuthenticationManager
;
...
@@ -23,6 +25,7 @@ import org.springframework.stereotype.Service;
...
@@ -23,6 +25,7 @@ import org.springframework.stereotype.Service;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
@Slf4j
@Service
@Service
public
class
AuthServiceImpl
implements
AuthService
{
public
class
AuthServiceImpl
implements
AuthService
{
...
@@ -61,6 +64,7 @@ public class AuthServiceImpl implements AuthService {
...
@@ -61,6 +64,7 @@ public class AuthServiceImpl implements AuthService {
throw
new
UsernameNotFoundException
(
"用户不存在"
);
throw
new
UsernameNotFoundException
(
"用户不存在"
);
}
}
log
.
info
(
"通过Feign调用yd-user-service服务获取用户信息:{}"
,
JSON
.
toJSONString
(
sysUser
));
//密码:SM3国密算法
//密码:SM3国密算法
//生成盐值
//生成盐值
String
salt
=
sysUser
.
getPasswordSalt
();
String
salt
=
sysUser
.
getPasswordSalt
();
...
@@ -91,6 +95,7 @@ public class AuthServiceImpl implements AuthService {
...
@@ -91,6 +95,7 @@ public class AuthServiceImpl implements AuthService {
// - 令牌中包含用户标识和权限信息
// - 令牌中包含用户标识和权限信息
String
token
=
jwtTokenProvider
.
generateToken
(
authenticated
);
String
token
=
jwtTokenProvider
.
generateToken
(
authenticated
);
log
.
info
(
"生成JWT令牌:{}"
,
token
);
// 5. 构建登录响应对象
// 5. 构建登录响应对象
LoginResponse
response
=
new
LoginResponse
();
LoginResponse
response
=
new
LoginResponse
();
response
.
setToken
(
token
);
// 设置生成的JWT令牌
response
.
setToken
(
token
);
// 设置生成的JWT令牌
...
...
yd-auth-core/src/main/java/com/yd/auth/core/service/impl/AuthUserDetailsService.java
View file @
f0b21d20
package
com
.
yd
.
auth
.
core
.
service
.
impl
;
package
com
.
yd
.
auth
.
core
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.user.feign.client.sysuser.ApiSysUserFeignClient
;
import
com.yd.user.feign.client.sysuser.ApiSysUserFeignClient
;
...
@@ -7,6 +8,7 @@ import com.yd.user.feign.request.sysuser.ApiSysUserDetailBodyRequest;
...
@@ -7,6 +8,7 @@ import com.yd.user.feign.request.sysuser.ApiSysUserDetailBodyRequest;
import
com.yd.user.feign.response.sysuser.ApiSysUserDetailResponse
;
import
com.yd.user.feign.response.sysuser.ApiSysUserDetailResponse
;
import
com.yd.user.service.model.SysUser
;
import
com.yd.user.service.model.SysUser
;
import
com.yd.user.service.service.ISysUserService
;
import
com.yd.user.service.service.ISysUserService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
...
@@ -21,6 +23,8 @@ import java.util.Objects;
...
@@ -21,6 +23,8 @@ import java.util.Objects;
* authenticationManager.authenticate(authentication) -->进行spring security 登录认证
* authenticationManager.authenticate(authentication) -->进行spring security 登录认证
* --> spring security 登录认证会走到这里去获取用户表的数据进行用户名和密码对比返回最后认证是否成功的结果
* --> spring security 登录认证会走到这里去获取用户表的数据进行用户名和密码对比返回最后认证是否成功的结果
*/
*/
@Slf4j
@Service
@Service
public
class
AuthUserDetailsService
implements
UserDetailsService
{
public
class
AuthUserDetailsService
implements
UserDetailsService
{
...
@@ -39,6 +43,7 @@ public class AuthUserDetailsService implements UserDetailsService {
...
@@ -39,6 +43,7 @@ public class AuthUserDetailsService implements UserDetailsService {
ApiSysUserDetailBodyRequest
request
=
new
ApiSysUserDetailBodyRequest
();
ApiSysUserDetailBodyRequest
request
=
new
ApiSysUserDetailBodyRequest
();
request
.
setUserName
(
username
);
request
.
setUserName
(
username
);
Result
<
ApiSysUserDetailResponse
>
result
=
apiSysUserFeignClient
.
detail
(
request
);
Result
<
ApiSysUserDetailResponse
>
result
=
apiSysUserFeignClient
.
detail
(
request
);
log
.
info
(
"loadUserByUsername获取用户信息:{}"
,
JSON
.
toJSONString
(
result
));
if
(
Objects
.
isNull
(
result
.
getData
()))
{
if
(
Objects
.
isNull
(
result
.
getData
()))
{
throw
new
UsernameNotFoundException
(
"用户不存在"
);
throw
new
UsernameNotFoundException
(
"用户不存在"
);
}
}
...
...
yd-common/src/main/java/com/yd/common/enums/CommonEnum.java
View file @
f0b21d20
...
@@ -37,6 +37,7 @@ public enum CommonEnum {
...
@@ -37,6 +37,7 @@ public enum CommonEnum {
UID_TYPE_EMAIL_VARIABLE_GROUP
(
"email_variable_group"
,
"变量分组表"
),
UID_TYPE_EMAIL_VARIABLE_GROUP
(
"email_variable_group"
,
"变量分组表"
),
UID_TYPE_EMAIL_CONTACT_IMPORT
(
"email_contact_import"
,
"邮件联系人导入临时表"
),
UID_TYPE_EMAIL_CONTACT_IMPORT
(
"email_contact_import"
,
"邮件联系人导入临时表"
),
UID_TYPE_EMAIL_TASK
(
"email_task"
,
"邮件任务表"
),
UID_TYPE_EMAIL_TASK
(
"email_task"
,
"邮件任务表"
),
UID_TYPE_ANSWER_SESSIONS
(
"answer_sessions"
,
"答题会话表"
),
//作用域枚举
//作用域枚举
SCOPE_SYS
(
"1"
,
"系统级(全局)"
),
SCOPE_SYS
(
"1"
,
"系统级(全局)"
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment