Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cash-loan-flow-boss
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QG
cash-loan-flow-boss
Commits
3782da87
Commit
3782da87
authored
Dec 22, 2020
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
一个用户只有一个token
parent
aab6e9b1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
39 additions
and
6 deletions
+39
-6
LoginServiceImpl.java
.../cashloanflowboss/api/login/service/LoginServiceImpl.java
+1
-6
PrincipalService.java
.../cashloanflowboss/api/login/service/PrincipalService.java
+17
-0
PrincipalServiceImpl.java
...hloanflowboss/api/login/service/PrincipalServiceImpl.java
+20
-0
Constants.java
...quantgroup/cashloanflowboss/core/constants/Constants.java
+1
-0
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/login/service/LoginServiceImpl.java
View file @
3782da87
...
@@ -11,7 +11,6 @@ import cn.quantgroup.cashloanflowboss.api.user.entity.User;
...
@@ -11,7 +11,6 @@ import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserService
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserService
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.base.ServiceResult
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.base.Tuple
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
...
@@ -125,11 +124,7 @@ public class LoginServiceImpl implements LoginService {
...
@@ -125,11 +124,7 @@ public class LoginServiceImpl implements LoginService {
long
currentTimeMillis
=
System
.
currentTimeMillis
();
long
currentTimeMillis
=
System
.
currentTimeMillis
();
principal
.
setLoginTimeMillis
(
currentTimeMillis
);
principal
.
setLoginTimeMillis
(
currentTimeMillis
);
String
token
=
Application
.
getBossToken
(
request
);
String
token
=
principalService
.
getUserBossTokenInRedis
(
username
);
if
(
principalService
.
getPrincipal
()
==
null
||
StringUtils
.
isEmpty
(
token
))
{
// 是否redis中存在token
token
=
UUID
.
randomUUID
().
toString
();
}
principalService
.
pushPrincipal
(
token
,
principal
);
principalService
.
pushPrincipal
(
token
,
principal
);
// session登陆时间,毫秒值
// session登陆时间,毫秒值
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/login/service/PrincipalService.java
View file @
3782da87
...
@@ -2,6 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.login.service;
...
@@ -2,6 +2,8 @@ package cn.quantgroup.cashloanflowboss.api.login.service;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
javax.servlet.http.HttpServletRequest
;
/**
/**
* 获取用户登陆主题信息
* 获取用户登陆主题信息
*
*
...
@@ -15,4 +17,19 @@ public interface PrincipalService {
...
@@ -15,4 +17,19 @@ public interface PrincipalService {
void
pushPrincipal
(
String
token
,
Principal
principal
);
void
pushPrincipal
(
String
token
,
Principal
principal
);
void
removePrincipal
();
void
removePrincipal
();
/**
* 通过用户名 获取redis中是否已有token存在
* 如果登陆过,或者登陆未过期 沿用token
* 保证一个用户 同一时间 只有一个token,可以作用在防止重复登陆上
* @param username
* @return
*/
String
getUserBossTokenInRedis
(
String
username
);
/**
* 从header中获取token
* @return
*/
String
getUserBossTokenInRequest
();
}
}
src/main/java/cn/quantgroup/cashloanflowboss/api/login/service/PrincipalServiceImpl.java
View file @
3782da87
...
@@ -2,8 +2,10 @@ package cn.quantgroup.cashloanflowboss.api.login.service;
...
@@ -2,8 +2,10 @@ package cn.quantgroup.cashloanflowboss.api.login.service;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.api.login.model.Principal
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.Application
;
import
cn.quantgroup.cashloanflowboss.core.constants.Constants
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -22,6 +24,9 @@ public class PrincipalServiceImpl implements PrincipalService {
...
@@ -22,6 +24,9 @@ public class PrincipalServiceImpl implements PrincipalService {
@Autowired
@Autowired
private
HttpServletRequest
request
;
private
HttpServletRequest
request
;
@Autowired
private
StringRedisTemplate
redisTemplate
;
@Resource
(
name
=
"redisTemplate"
)
@Resource
(
name
=
"redisTemplate"
)
private
ValueOperations
<
String
,
Principal
>
loginOperations
;
private
ValueOperations
<
String
,
Principal
>
loginOperations
;
...
@@ -47,5 +52,20 @@ public class PrincipalServiceImpl implements PrincipalService {
...
@@ -47,5 +52,20 @@ public class PrincipalServiceImpl implements PrincipalService {
}
}
}
}
@Override
public
String
getUserBossTokenInRedis
(
String
username
)
{
// redis 中用姓名作为key,存的用户登陆token为空
String
token
=
redisTemplate
.
opsForValue
().
get
(
Constants
.
USER_NAME_TOKEN
+
username
);
if
(
StringUtils
.
isEmpty
(
token
))
{
return
UUID
.
randomUUID
().
toString
();
}
return
token
;
}
@Override
public
String
getUserBossTokenInRequest
()
{
return
this
.
request
.
getHeader
(
Constants
.
UI_HEADER_TOKEN
);
}
}
}
src/main/java/cn/quantgroup/cashloanflowboss/core/constants/Constants.java
View file @
3782da87
...
@@ -15,4 +15,5 @@ public interface Constants {
...
@@ -15,4 +15,5 @@ public interface Constants {
String
TRUE
=
"true"
;
String
TRUE
=
"true"
;
String
START_THIS
=
"#this"
;
String
START_THIS
=
"#this"
;
String
UI_HEADER_TOKEN
=
"boss-token"
;
String
UI_HEADER_TOKEN
=
"boss-token"
;
String
USER_NAME_TOKEN
=
"username:token:key:"
;
}
}
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