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
5e0ff5ae
Commit
5e0ff5ae
authored
Aug 06, 2019
by
xiaozhe.chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加role相关的类
parent
16c9f9af
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
81 additions
and
27 deletions
+81
-27
LogService.java
...antgroup/cashloanflowboss/api/log/service/LogService.java
+5
-12
RoleUser.java
...group/cashloanflowboss/api/role/entity/boss/RoleUser.java
+3
-1
RoleService.java
...tgroup/cashloanflowboss/api/role/service/RoleService.java
+3
-0
TestController.java
.../cashloanflowboss/api/test/controller/TestController.java
+6
-3
RoleInfo.java
.../quantgroup/cashloanflowboss/api/user/model/RoleInfo.java
+13
-0
UserInfo.java
.../quantgroup/cashloanflowboss/api/user/model/UserInfo.java
+13
-0
UserSessionInfo.java
...roup/cashloanflowboss/api/user/model/UserSessionInfo.java
+4
-2
UserService.java
...tgroup/cashloanflowboss/api/user/service/UserService.java
+4
-3
UserSessionService.java
...cashloanflowboss/api/user/service/UserSessionService.java
+30
-6
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/log/service/LogService.java
View file @
5e0ff5ae
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
log
.
service
;
import
cn.quantgroup.cashloanflowboss.api.role.entity.boss.Permission
;
import
cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus
;
import
cn.quantgroup.cashloanflowboss.api.user.entity.boss.User
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserService
;
import
cn.quantgroup.cashloanflowboss.
component.security.Authority
;
import
cn.quantgroup.cashloanflowboss.
api.user.service.UserSessionService
;
import
cn.quantgroup.cashloanflowboss.core.asserts.Assert
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
import
cn.quantgroup.cashloanflowboss.utils.JSONTools
;
import
cn.quantgroup.cashloanflowboss.utils.MD5Tools
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpSession
;
import
java.util.Arrays
;
/**
* Created by WeiWei on 2019/7/22.
...
...
@@ -27,6 +23,8 @@ public class LogService {
@Autowired
private
UserService
userService
;
@Autowired
private
UserSessionService
userSessionService
;
@Autowired
private
HttpServletRequest
request
;
...
...
@@ -51,13 +49,8 @@ public class LogService {
// 检查密码是否正确
Assert
.
isFalse
(
user
.
getPassword
().
equalsIgnoreCase
(
MD5Tools
.
md5
(
password
)),
ApplicationStatus
.
USERNAME_OR_PASSWORD_ERROR
);
HttpSession
session
=
this
.
request
.
getSession
(
true
);
Permission
permission
=
new
Permission
();
permission
.
setId
(
"Log.logout"
);
permission
.
setAuthorities
(
Arrays
.
asList
(
Authority
.
READ
));
session
.
setAttribute
(
ApplicationDictionary
.
SECURITY_KEY
,
JSONTools
.
serialize
(
Arrays
.
asList
(
permission
)));
// set user session info
userSessionService
.
setUserSessionInfo
(
user
);
return
true
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/role/entity/boss/RoleUser.java
View file @
5e0ff5ae
...
...
@@ -3,6 +3,7 @@ package cn.quantgroup.cashloanflowboss.api.role.entity.boss;
import
cn.quantgroup.cashloanflowboss.core.persistence.Primary
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
...
...
@@ -11,8 +12,9 @@ import javax.persistence.Table;
@Table
(
name
=
"role_user"
)
public
class
RoleUser
extends
Primary
{
@Column
(
name
=
"role_id"
)
private
Long
roleId
;
@Column
(
name
=
"user_id"
)
private
Long
userId
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/role/service/RoleService.java
View file @
5e0ff5ae
...
...
@@ -20,6 +20,9 @@ public class RoleService {
public
Role
findRoleByUserId
(
Long
userId
)
{
RoleUser
roleUser
=
roleUserRepository
.
findByUserId
(
userId
);
if
(
null
==
roleUser
)
{
return
null
;
}
Long
roleId
=
roleUser
.
getRoleId
();
Role
role
=
findRoleByRoleId
(
roleId
);
return
role
;
...
...
src/main/java/cn/quantgroup/cashloanflowboss/api/test/controller/TestController.java
View file @
5e0ff5ae
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
test
.
controller
;
import
cn.quantgroup.cashloanflowboss.api.user.
entity.boss.User
;
import
cn.quantgroup.cashloanflowboss.api.user.
model.UserSessionInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserService
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserSessionService
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -15,10 +16,12 @@ public class TestController {
@Autowired
private
UserService
userService
;
@Autowired
private
UserSessionService
userSessionService
;
@GetMapping
(
"/user/info"
)
public
Result
findUserFromSession
()
{
User
currentUser
=
userService
.
findCurrentUser
();
return
new
Result
<>(
ApplicationStatus
.
SUCCESS
,
currentUser
);
User
SessionInfo
userSessionInfo
=
userService
.
findUserSessionInfo
();
return
new
Result
<>(
ApplicationStatus
.
SUCCESS
,
userSessionInfo
);
}
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/model/RoleInfo.java
0 → 100644
View file @
5e0ff5ae
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
user
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
@Data
@Builder
@AllArgsConstructor
public
class
RoleInfo
{
private
Long
roleId
;
private
String
roleName
;
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/model/UserInfo.java
0 → 100644
View file @
5e0ff5ae
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
user
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
@Data
@Builder
@AllArgsConstructor
public
class
UserInfo
{
private
Long
userId
;
private
String
userName
;
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/model/UserSessionInfo.java
View file @
5e0ff5ae
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
user
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
@Data
@Builder
@AllArgsConstructor
public
class
UserSessionInfo
{
private
String
userName
;
private
String
roleName
;
private
UserInfo
userInfo
;
private
RoleInfo
roleInfo
;
private
Long
channelId
;
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/service/UserService.java
View file @
5e0ff5ae
...
...
@@ -2,6 +2,7 @@ package cn.quantgroup.cashloanflowboss.api.user.service;
import
cn.quantgroup.cashloanflowboss.api.user.dictionary.UserStatus
;
import
cn.quantgroup.cashloanflowboss.api.user.entity.boss.User
;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserSessionInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.repository.boss.UserRepository
;
import
cn.quantgroup.cashloanflowboss.core.asserts.Assert
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
...
...
@@ -137,12 +138,12 @@ public class UserService {
}
public
User
findCurrentUser
()
{
public
User
SessionInfo
findUserSessionInfo
()
{
HttpSession
session
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
().
getSession
();
Assert
.
isNull
(
session
.
getAttribute
(
ApplicationDictionary
.
USER_KEY
),
ApplicationStatus
.
INVALID_USER
);
User
user
=
JSONTools
.
deserialize
(
String
.
valueOf
(
session
.
getAttribute
(
ApplicationDictionary
.
USER_KEY
)),
new
TypeReference
<
User
>()
{
User
SessionInfo
userSessionInfo
=
JSONTools
.
deserialize
(
String
.
valueOf
(
session
.
getAttribute
(
ApplicationDictionary
.
USER_KEY
)),
new
TypeReference
<
UserSessionInfo
>()
{
});
return
user
;
return
user
SessionInfo
;
}
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/service/UserSessionService.java
View file @
5e0ff5ae
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
user
.
service
;
import
cn.quantgroup.cashloanflowboss.api.role.entity.boss.Permission
;
import
cn.quantgroup.cashloanflowboss.api.role.entity.boss.Role
;
import
cn.quantgroup.cashloanflowboss.api.role.service.RoleService
;
import
cn.quantgroup.cashloanflowboss.api.user.entity.boss.User
;
import
cn.quantgroup.cashloanflowboss.api.user.model.RoleInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.model.UserSessionInfo
;
import
cn.quantgroup.cashloanflowboss.component.security.Authority
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
import
cn.quantgroup.cashloanflowboss.utils.JSONTools
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpSession
;
import
java.util.Arrays
;
@Slf4j
@Service
public
class
UserSessionService
{
@Autowired
private
RoleService
roleService
;
public
void
setUserSessionInfo
(
User
user
)
{
HttpSession
session
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
().
getSession
();
session
.
setAttribute
(
ApplicationDictionary
.
USER_KEY
,
JSONTools
.
serialize
(
user
));
//query user role info
//set user,role,channel or permission info
Role
role
=
roleService
.
findRoleByUserId
(
user
.
getId
());
String
roleName
=
null
,
userName
=
user
.
getUsername
();
Long
roleId
=
null
,
userId
=
user
.
getId
();
if
(
null
!=
role
)
{
roleName
=
role
.
getName
();
roleId
=
role
.
getId
();
}
//UserSessionInfo.builder()
// .userName(user.getUsername())
// .roleName()
UserSessionInfo
userSessionInfo
=
UserSessionInfo
.
builder
()
.
roleInfo
(
RoleInfo
.
builder
().
roleId
(
roleId
).
roleName
(
roleName
).
build
())
.
userInfo
(
UserInfo
.
builder
().
userId
(
userId
).
userName
(
userName
).
build
())
.
build
();
HttpSession
session
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
().
getSession
();
session
.
setAttribute
(
ApplicationDictionary
.
USER_KEY
,
JSONTools
.
serialize
(
userSessionInfo
));
//todo permission后续放入UserSessionInfo结构中吧
Permission
permission
=
new
Permission
();
permission
.
setId
(
"Log.logout"
);
permission
.
setAuthorities
(
Arrays
.
asList
(
Authority
.
READ
));
session
.
setAttribute
(
ApplicationDictionary
.
SECURITY_KEY
,
JSONTools
.
serialize
(
Arrays
.
asList
(
permission
)));
}
...
...
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