Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Q
qy-zhjt
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
luojun
qy-zhjt
Commits
1cd6092a
Commit
1cd6092a
authored
Jan 08, 2025
by
luojun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
同步门户登录
parent
949ab1a0
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
66 additions
and
44 deletions
+66
-44
SysUsersRolesMapper.java
...in/modules/system/service/mapper/SysUsersRolesMapper.java
+2
-0
AuthorizationController.java
src/main/java/admin/rest/AuthorizationController.java
+27
-29
UserController.java
src/main/java/admin/rest/UserController.java
+22
-11
SyncTokenServiceImpl.java
...va/admin/service/syncToken/impl/SyncTokenServiceImpl.java
+4
-4
SysUsersRolesMapper.xml
src/main/resources/mapper/SysUsersRolesMapper.xml
+11
-0
No files found.
src/main/java/admin/modules/system/service/mapper/SysUsersRolesMapper.java
View file @
1cd6092a
...
...
@@ -2,6 +2,7 @@ package admin.modules.system.service.mapper;
import
admin.base.CommonMapper
;
import
admin.modules.system.domain.SysUsersRoles
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
/**
...
...
@@ -13,4 +14,5 @@ import org.springframework.stereotype.Repository;
@Repository
public
interface
SysUsersRolesMapper
extends
CommonMapper
<
SysUsersRoles
>
{
void
deleteByUserId
(
Long
id
);
SysUsersRoles
findById
(
@Param
(
"id"
)
Long
id
);
}
src/main/java/admin/rest/AuthorizationController.java
View file @
1cd6092a
...
...
@@ -19,8 +19,10 @@ import admin.annotation.Log;
import
admin.annotation.rest.AnonymousDeleteMapping
;
import
admin.annotation.rest.AnonymousGetMapping
;
import
admin.annotation.rest.AnonymousPostMapping
;
import
admin.config.RedisCacheConfigPath
;
import
admin.config.RsaProperties
;
import
admin.exception.BadRequestException
;
import
admin.model.syncToken.GetTokenRep
;
import
admin.model.syncToken.VerifyRep
;
...
...
@@ -137,7 +139,7 @@ public class AuthorizationController {
log
.
error
(
"门户跳转获取token失败"
);
return
ResponseEntity
.
badRequest
().
body
(
rep
);
}
else
{
redisUtils
.
del
(
RedisCacheConfigPath
.
loginUserCache
Key
);
redisUtils
.
del
(
RedisCacheConfigPath
.
syncTokenGet
Key
);
redisUtils
.
set
(
RedisCacheConfigPath
.
syncTokenGetKey
,
rep
.
getAccess_token
(),
1
,
TimeUnit
.
HOURS
);
}
syncToken
=
rep
.
getAccess_token
();
...
...
@@ -157,36 +159,32 @@ public class AuthorizationController {
}
//模拟用户登录,跳转前端首页
log
.
info
(
"模拟用户登录,跳转前端首页"
);
String
jwt
=
(
String
)
redisUtils
.
get
(
String
.
format
(
RedisCacheConfigPath
.
loginUserCacheKey
,
userName
));
JwtUserDto
jwtUserDto
=
JSONUtil
.
toBean
(
jwt
,
JwtUserDto
.
class
);
if
(
ObjectUtil
.
isNull
(
jwtUserDto
)||
jwt
==
null
||
jwtUserDto
.
getToken
()==
null
)
{
UserDto
userDto
=
userService
.
findByName
(
userName
);
log
.
info
(
"userDto:{}"
,
JSONUtil
.
toJsonStr
(
userDto
));
if
(
userDto
==
null
||
userDto
.
getSyncPassword
()
==
null
)
{
log
.
error
(
"未有同步该用户"
);
return
ResponseEntity
.
badRequest
().
body
(
userDto
);
}
UsernamePasswordAuthenticationToken
authenticationToken
=
new
UsernamePasswordAuthenticationToken
(
userDto
.
getUsername
(),
userDto
.
getSyncPassword
());
Authentication
authentication
=
authenticationManagerBuilder
.
getObject
().
authenticate
(
authenticationToken
);
SecurityContextHolder
.
getContext
().
setAuthentication
(
authentication
);
// 生成令牌
String
token1
=
tokenProvider
.
createToken
(
authentication
);
jwtUserDto
=
(
JwtUserDto
)
authentication
.
getPrincipal
();
// 保存在线信息
onlineUserService
.
save
(
jwtUserDto
,
token1
,
request
);
if
(
loginProperties
.
isSingleLogin
())
{
//踢掉之前已经登录的token
onlineUserService
.
checkLoginOnUser
(
userDto
.
getUsername
(),
token1
);
}
jwtUserDto
.
setToken
(
token1
);
//记录登录用户信息
redisUtils
.
del
(
String
.
format
(
RedisCacheConfigPath
.
loginUserCacheKey
,
jwtUserDto
.
getUsername
()));
redisUtils
.
set
(
String
.
format
(
RedisCacheConfigPath
.
loginUserCacheKey
,
jwtUserDto
.
getUsername
()),
JSONObject
.
toJSONString
(
jwtUserDto
),
1
,
TimeUnit
.
HOURS
);
UserDto
userDto
=
userService
.
findByName
(
userName
);
log
.
info
(
"userDto:{}"
,
JSONUtil
.
toJsonStr
(
userDto
));
if
(
userDto
==
null
||
userDto
.
getSyncPassword
()
==
null
)
{
log
.
error
(
"未有同步该用户"
);
return
ResponseEntity
.
badRequest
().
body
(
userDto
);
}
UsernamePasswordAuthenticationToken
authenticationToken
=
new
UsernamePasswordAuthenticationToken
(
userDto
.
getUsername
(),
userDto
.
getSyncPassword
());
Authentication
authentication
=
authenticationManagerBuilder
.
getObject
().
authenticate
(
authenticationToken
);
SecurityContextHolder
.
getContext
().
setAuthentication
(
authentication
);
// 生成令牌
String
token1
=
tokenProvider
.
createToken
(
authentication
);
final
JwtUserDto
jwtUserDto
=
(
JwtUserDto
)
authentication
.
getPrincipal
();
// 保存在线信息
onlineUserService
.
save
(
jwtUserDto
,
token1
,
request
);
if
(
loginProperties
.
isSingleLogin
())
{
//踢掉之前已经登录的token
onlineUserService
.
checkLoginOnUser
(
userDto
.
getUsername
(),
token1
);
}
jwtUserDto
.
setToken
(
"Bearer "
+
token1
);
//记录登录用户信息
redisUtils
.
del
(
String
.
format
(
RedisCacheConfigPath
.
loginUserCacheKey
,
jwtUserDto
.
getUsername
()));
redisUtils
.
set
(
String
.
format
(
RedisCacheConfigPath
.
loginUserCacheKey
,
jwtUserDto
.
getUsername
()),
JSONObject
.
toJSONString
(
jwtUserDto
),
1
,
TimeUnit
.
HOURS
);
log
.
info
(
"跳转前端首页--token:{}"
,
jwtUserDto
.
getToken
());
httpServletResponse
.
setHeader
(
"authorization"
,
"Bearer "
+
jwtUserDto
.
getToken
());
httpServletResponse
.
sendRedirect
(
"http
s://qy.justh5.com/dashboard"
);
httpServletResponse
.
setHeader
(
"authorization"
,
jwtUserDto
.
getToken
());
httpServletResponse
.
sendRedirect
(
"http
://qytydp.qyting.com/dashboard?token="
+
jwtUserDto
.
getToken
()
);
return
null
;
}
...
...
src/main/java/admin/rest/UserController.java
View file @
1cd6092a
...
...
@@ -28,12 +28,14 @@ import admin.modules.system.service.*;
import
admin.modules.system.service.dto.RoleSmallDto
;
import
admin.modules.system.service.dto.UserDto
;
import
admin.modules.system.service.dto.UserQueryCriteria
;
import
admin.modules.system.service.mapper.SysUsersRolesMapper
;
import
admin.modules.system.service.mapper.UserMapper
;
import
admin.rest.module.UserSyncRep
;
import
admin.rest.module.UserSyncReq
;
import
admin.utils.PageUtil
;
import
admin.utils.RsaUtils
;
import
admin.utils.SecurityUtils
;
import
admin.utils.enums.CodeEnum
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
io.swagger.annotations.Api
;
...
...
@@ -76,8 +78,8 @@ public class UserController {
private
final
DataService
dataService
;
private
final
DeptService
deptService
;
private
final
RoleService
roleService
;
// private final VerifyService verifyService;
private
final
SysUsersRolesService
sysUsersRolesService
;
private
final
SysUsersRolesMapper
sysUsersRolesMapper
;
@Log
(
"导出用户数据"
)
@ApiOperation
(
"导出用户数据"
)
...
...
@@ -173,15 +175,15 @@ public class UserController {
resources
.
setJobId
(
job
.
getId
());
//查询收费员岗位是否已经被其他收费员占用
if
(
roleId
==
4
)
{
// User user = userService.findByJobId(resources.getJobId());
//新增
// if (user != null && resources != null && resources.getId() == null){
// throw new BadRequestException(String.format("岗位已经被%s占用,请更换", user.getUsername()));
// }
// //修改
// if (user != null && resources.getId() != null && resources.getId() > 0 && !user.getId().equals(resources.getId())) {
// throw new BadRequestException(String.format("岗位已经被%s占用,请更换", user.getUsername()));
// }
// User user = userService.findByJobId(resources.getJobId());
//新增
// if (user != null && resources != null && resources.getId() == null){
// throw new BadRequestException(String.format("岗位已经被%s占用,请更换", user.getUsername()));
// }
// //修改
// if (user != null && resources.getId() != null && resources.getId() > 0 && !user.getId().equals(resources.getId())) {
// throw new BadRequestException(String.format("岗位已经被%s占用,请更换", user.getUsername()));
// }
List
<
User
>
users
=
userService
.
findListByJobId
(
resources
.
getJobId
());
if
(
users
!=
null
&&
users
.
size
()>=
2
){
throw
new
BadRequestException
(
String
.
format
(
"存在岗位被两个收费员%s占用,请更换"
,
users
.
get
(
0
).
getUsername
()+
" "
+
users
.
get
(
1
).
getUsername
()));
...
...
@@ -295,7 +297,6 @@ public class UserController {
if
(!
passwordEncoder
.
matches
(
password
,
userDto
.
getPassword
())){
throw
new
BadRequestException
(
"密码错误"
);
}
// verifyService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + user.getEmail(), code);
userService
.
updateEmail
(
userDto
.
getUsername
(),
user
.
getEmail
());
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
...
...
@@ -360,9 +361,19 @@ public class UserController {
BCryptPasswordEncoder
bCryptPasswordEncoder
=
new
BCryptPasswordEncoder
();
String
encode
=
bCryptPasswordEncoder
.
encode
(
userVO
.
getPassword
());
user
.
setPassword
(
encode
);
user
.
setDeptId
(
16L
);
user
.
setNickName
(
userVO
.
getRealName
()==
null
?
""
:
userVO
.
getRealName
());
user
.
setEnabled
(
userVO
.
getIsActive
());
userMapper
.
insert
(
user
);
//菜单权限
User
username
=
userMapper
.
findByUsername
(
user
.
getUsername
());
SysUsersRoles
usersRoles
=
sysUsersRolesMapper
.
findById
(
username
.
getId
());
if
(
usersRoles
==
null
)
{
SysUsersRoles
sysUsersRoles
=
new
SysUsersRoles
();
sysUsersRoles
.
setUserId
(
username
.
getId
());
sysUsersRoles
.
setRoleId
(
1L
);
sysUsersRolesMapper
.
insert
(
sysUsersRoles
);
}
}
catch
(
Exception
e
){
userRep
.
setUserId
(
userVO
.
getUserId
());
userRep
.
setReason
(
"同步用户信息失败。optType为CREATE"
);
...
...
src/main/java/admin/service/syncToken/impl/SyncTokenServiceImpl.java
View file @
1cd6092a
...
...
@@ -18,7 +18,7 @@ import org.springframework.stereotype.Service;
public
class
SyncTokenServiceImpl
implements
SyncTokenService
{
@Override
public
GetTokenRep
getToken
()
{
String
url
=
"http://36.
138.42.150
:5065/oauth/token"
;
String
url
=
"http://36.
212.226.237
:5065/oauth/token"
;
//入参
String
grantType
=
"client_credentials"
;
String
scope
=
"all"
;
...
...
@@ -43,11 +43,11 @@ public class SyncTokenServiceImpl implements SyncTokenService {
@Override
public
VerifyRep
verify
(
String
syncToken
,
String
token
)
{
// 门户接口URL
String
url
=
"http://36.
138.42.150
:5065/oauth/verify"
;
// 请替换为你的门户接口实际URL
// 请求头
String
url
=
"http://36.
212.226.237
:5065/oauth/verify"
;
// 请替换为你的门户接口实际URL
// 请求头
String
authorizationHeader
=
"Bearer "
+
syncToken
;
// 请替换为你的客户端token
String
contentTypeHeader
=
"application/json"
;
// 请求体
// 请求体
VerifyReq
verifyReq
=
new
VerifyReq
();
verifyReq
.
setUnifiedUserToken
(
token
);
log
.
info
(
"门户检验token合法性,url:{},入参:verifyReq:{}"
,
url
,
verifyReq
);
...
...
src/main/resources/mapper/SysUsersRolesMapper.xml
0 → 100644
View file @
1cd6092a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"admin.modules.system.service.mapper.SysUsersRolesMapper"
>
<select
id=
"deleteByUserId"
>
DELETE FROM sys_users_roles WHERE user_id=#{id}
</select>
<select
id=
"findById"
resultType=
"admin.modules.system.domain.SysUsersRoles"
>
select * from sys_users_roles where user_id=#{id}
</select>
</mapper>
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