Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
civil-bigdata
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
civil
civil-bigdata
Commits
8e007019
Commit
8e007019
authored
Nov 29, 2021
by
袁伟铭
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加token登录方法
parent
3d46a931
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
6 deletions
+33
-6
sys-server/src/main/java/com/zq/system/modules/system/rest/SingleController.java
+8
-2
sys-server/src/main/java/com/zq/system/modules/system/service/SingleService.java
+25
-4
No files found.
sys-server/src/main/java/com/zq/system/modules/system/rest/SingleController.java
View file @
8e007019
...
...
@@ -31,11 +31,17 @@ public class SingleController {
@ApiOperation
(
"单点登录"
)
@AnonymousPostMapping
(
value
=
"/login"
)
public
void
login
(
@RequestBody
SingleLoginVo
vo
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
public
ResultVo
login
(
@RequestBody
SingleLoginVo
vo
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
AssertUtils
.
hasText
(
vo
.
getUsername
(),
"用户名为空"
);
AssertUtils
.
hasText
(
vo
.
getPasswd
(),
"密码为空"
);
singleService
.
login
(
vo
,
request
,
response
);
return
ResultVo
.
success
(
singleService
.
login
(
vo
,
request
,
response
));
}
@ApiOperation
(
"token单点登录"
)
@PostMapping
(
value
=
"/tokenLogin"
)
public
ResultVo
tokenLogin
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
return
ResultVo
.
success
(
singleService
.
tokenLogin
(
request
,
response
));
}
@ApiOperation
(
"单点登出"
)
...
...
sys-server/src/main/java/com/zq/system/modules/system/service/SingleService.java
View file @
8e007019
package
com
.
zq
.
system
.
modules
.
system
.
service
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.extra.servlet.ServletUtil
;
import
cn.hutool.http.HttpRequest
;
import
cn.hutool.http.HttpResponse
;
import
cn.hutool.json.JSONObject
;
...
...
@@ -143,7 +142,7 @@ public class SingleService {
}
}
public
void
login
(
SingleLoginVo
vo
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
public
Object
login
(
SingleLoginVo
vo
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
try
{
String
appId
=
request
.
getParameter
(
"appId"
);
AssertUtils
.
hasText
(
appId
,
"APPID为空"
);
...
...
@@ -167,14 +166,36 @@ public class SingleService {
String
key
=
IdUtil
.
simpleUUID
();
redisUtils
.
setStr
(
token
,
key
,
properties
.
getTokenValidityInSeconds
()
/
1000
,
TimeUnit
.
SECONDS
);
response
.
sendRedirect
(
sysInfo
.
getHomeUrl
()
+
"?"
+
properties
.
getHeader
()
+
"="
+
token
+
"&key="
+
key
);
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"toUrl"
,
sysInfo
.
getHomeUrl
()
+
"?"
+
properties
.
getHeader
()
+
"="
+
token
+
"&key="
+
key
);
data
.
put
(
properties
.
getHeader
(),
properties
.
getTokenStartWith
()
+
token
);
return
data
;
// response.sendRedirect(sysInfo.getHomeUrl() + "?" + properties.getHeader() + "=" + token + "&key=" + key);
}
catch
(
Exception
e
)
{
log
.
error
(
"【{}】单点登录错误 => {}"
,
vo
.
getUsername
(),
e
.
getMessage
());
ServletUtil
.
write
(
response
,
e
.
getMessage
(),
"application/json;charset=utf-8"
);
return
e
.
getMessage
(
);
}
}
public
Object
tokenLogin
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
String
appId
=
request
.
getParameter
(
"appId"
);
AssertUtils
.
hasText
(
appId
,
"APPID为空"
);
SysInfo
sysInfo
=
sysInfoDao
.
selectOne
(
Wrappers
.
lambdaQuery
(
SysInfo
.
builder
().
appId
(
appId
).
build
()));
AssertUtils
.
notNull
(
sysInfo
,
"APPID不存在"
);
AssertUtils
.
hasText
(
sysInfo
.
getHomeUrl
(),
"业务系统主页地址未配置"
);
String
token
=
tokenProvider
.
getToken
(
request
);
String
key
=
redisUtils
.
getStr
(
token
);
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"toUrl"
,
sysInfo
.
getHomeUrl
()
+
"?"
+
properties
.
getHeader
()
+
"="
+
token
+
"&key="
+
key
);
data
.
put
(
properties
.
getHeader
(),
properties
.
getTokenStartWith
()
+
token
);
return
data
;
// response.sendRedirect(sysInfo.getHomeUrl() + "?" + properties.getHeader() + "=" + token + "&key=" + key);
}
public
Object
getUserInfo
(
String
appId
)
{
OnlineUserDto
adminContext
=
ContextUtils
.
getAdminContext
();
...
...
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