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
16da0e1e
Commit
16da0e1e
authored
Aug 06, 2019
by
suntao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v1' into branch-suntao
* v1: 添加role相关的类 添加role相关的类 优化代码
parents
a906dd26
6cc9c1b3
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
94 additions
and
38 deletions
+94
-38
LogService.java
...antgroup/cashloanflowboss/api/log/service/LogService.java
+5
-12
Role.java
...uantgroup/cashloanflowboss/api/role/entity/boss/Role.java
+3
-2
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
+5
-5
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
+1
-8
UserSessionService.java
...cashloanflowboss/api/user/service/UserSessionService.java
+41
-5
ApplicationStatus.java
...p/cashloanflowboss/core/dictionary/ApplicationStatus.java
+3
-3
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/api/log/service/LogService.java
View file @
16da0e1e
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/Role.java
View file @
16da0e1e
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
role
.
entity
.
boss
;
import
cn.quantgroup.cashloanflowboss.
component.security.Authority
;
import
cn.quantgroup.cashloanflowboss.
api.role.entity.boss.Permission
;
import
cn.quantgroup.cashloanflowboss.core.persistence.Primary
;
import
lombok.Data
;
...
...
@@ -31,6 +31,7 @@ public class Role extends Primary {
* 授权列表
*/
@Transient
private
List
<
Authority
>
authorities
;
private
List
<
Permission
>
permissions
;
}
src/main/java/cn/quantgroup/cashloanflowboss/api/role/entity/boss/RoleUser.java
View file @
16da0e1e
...
...
@@ -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 @
16da0e1e
...
...
@@ -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 @
16da0e1e
package
cn
.
quantgroup
.
cashloanflowboss
.
api
.
test
.
controller
;
import
cn.quantgroup.cashloanflowboss.api.user.
entity.boss.User
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserService
;
import
cn.quantgroup.cashloanflowboss.api.user.
model.UserSessionInfo
;
import
cn.quantgroup.cashloanflowboss.api.user.service.UserSe
ssionSe
rvice
;
import
cn.quantgroup.cashloanflowboss.core.base.Result
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -14,11 +14,11 @@ import org.springframework.web.bind.annotation.RestController;
public
class
TestController
{
@Autowired
private
UserSe
rvice
user
Service
;
private
UserSe
ssionService
userSession
Service
;
@GetMapping
(
"/user/info"
)
public
Result
findUserFromSession
()
{
User
currentUser
=
userService
.
findCurrentUser
();
return
new
Result
<>(
ApplicationStatus
.
SUCCESS
,
currentUser
);
User
SessionInfo
userSessionInfo
=
userSessionService
.
findUserSessionInfo
();
return
new
Result
<>(
ApplicationStatus
.
SUCCESS
,
userSessionInfo
);
}
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/model/RoleInfo.java
0 → 100644
View file @
16da0e1e
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 @
16da0e1e
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 @
16da0e1e
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 @
16da0e1e
...
...
@@ -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,4 @@ public class UserService {
}
public
User
findCurrentUser
()
{
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
>()
{
});
return
user
;
}
}
src/main/java/cn/quantgroup/cashloanflowboss/api/user/service/UserSessionService.java
View file @
16da0e1e
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.asserts.Assert
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary
;
import
cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus
;
import
cn.quantgroup.cashloanflowboss.utils.JSONTools
;
import
com.fasterxml.jackson.core.type.TypeReference
;
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
)
{
//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
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
(
user
));
//query user role info
session
.
setAttribute
(
ApplicationDictionary
.
USER_KEY
,
JSONTools
.
serialize
(
userSessionInfo
));
//UserSessionInfo.builder()
// .userName(user.getUsername())
// .roleName()
//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
)));
}
public
UserSessionInfo
findUserSessionInfo
()
{
HttpSession
session
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
().
getSession
();
Assert
.
isNull
(
session
.
getAttribute
(
ApplicationDictionary
.
USER_KEY
),
ApplicationStatus
.
INVALID_USER
);
UserSessionInfo
userSessionInfo
=
JSONTools
.
deserialize
(
String
.
valueOf
(
session
.
getAttribute
(
ApplicationDictionary
.
USER_KEY
)),
new
TypeReference
<
UserSessionInfo
>()
{
});
return
userSessionInfo
;
}
...
...
src/main/java/cn/quantgroup/cashloanflowboss/core/dictionary/ApplicationStatus.java
View file @
16da0e1e
...
...
@@ -27,11 +27,11 @@ public enum ApplicationStatus implements Status<ApplicationStatus> {
INVALID_AUTHORITY
(
501001
,
"无效的授权"
),
INVALID_USER
(
50100
1
,
"无效的用户"
),
INVALID_USER
(
50100
2
,
"无效的用户"
),
DISABLED_USER
(
50100
2
,
"用户已被禁用"
),
DISABLED_USER
(
50100
3
,
"用户已被禁用"
),
USERNAME_OR_PASSWORD_ERROR
(
50100
3
,
"用户名或密码错误"
);
USERNAME_OR_PASSWORD_ERROR
(
50100
4
,
"用户名或密码错误"
);
private
int
code
;
...
...
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