Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
customer-service
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QG
customer-service
Commits
5a78881f
Commit
5a78881f
authored
Nov 04, 2019
by
xiaozhe.chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加初始版本客服系统代码
parent
49f77d5f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
70 additions
and
22 deletions
+70
-22
IPasswordEncoder.java
...group/customer/config/http/security/IPasswordEncoder.java
+20
-0
WebSecurityConfig.java
...roup/customer/config/http/security/WebSecurityConfig.java
+16
-17
UserRest.java
src/main/java/cn/quantgroup/customer/rest/UserRest.java
+3
-3
AuthUserVo.java
src/main/java/cn/quantgroup/customer/rest/vo/AuthUserVo.java
+29
-0
UserServiceImpl.java
.../cn/quantgroup/customer/service/impl/UserServiceImpl.java
+2
-2
No files found.
src/main/java/cn/quantgroup/customer/config/http/security/IPasswordEncoder.java
0 → 100644
View file @
5a78881f
package
cn
.
quantgroup
.
customer
.
config
.
http
.
security
;
import
cn.quantgroup.customer.constant.Constant
;
import
cn.quantgroup.customer.util.PwdUtil
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
import
org.springframework.stereotype.Component
;
@Component
(
"passwordEncoder"
)
public
class
IPasswordEncoder
implements
PasswordEncoder
{
@Override
public
String
encode
(
CharSequence
rawPassword
)
{
return
PwdUtil
.
MD5
(
rawPassword
.
toString
().
toLowerCase
()
+
Constant
.
PASSWORD_SALT
);
}
@Override
public
boolean
matches
(
CharSequence
rawPassword
,
String
encodedPassword
)
{
return
encodedPassword
.
equals
(
PwdUtil
.
MD5
(
rawPassword
.
toString
().
toLowerCase
()
+
Constant
.
PASSWORD_SALT
));
}
}
src/main/java/cn/quantgroup/customer/config/http/security/WebSecurityConfig.java
View file @
5a78881f
...
...
@@ -2,28 +2,34 @@ package cn.quantgroup.customer.config.http.security;
import
cn.quantgroup.customer.constant.Constant
;
import
cn.quantgroup.customer.service.IUserService
;
import
cn.quantgroup.customer.util.PwdUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.security.SecurityProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder
;
import
org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
;
import
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter
;
import
org.springframework.security.core.userdetails.UserDetailsService
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
import
org.springframework.security.web.session.HttpSessionEventPublisher
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.cors.CorsUtils
;
@Slf4j
@EnableWebSecurity
@Order
(
SecurityProperties
.
ACCESS_OVERRIDE_ORDER
)
@EnableGlobalMethodSecurity
(
securedEnabled
=
true
,
prePostEnabled
=
true
,
jsr250Enabled
=
true
)
public
class
WebSecurityConfig
extends
WebSecurityConfigurerAdapter
{
private
final
IUserService
userService
;
private
final
PasswordEncoder
passwordEncoder
;
@Autowired
public
WebSecurityConfig
(
IUserService
userService
)
{
public
WebSecurityConfig
(
IUserService
userService
,
PasswordEncoder
passwordEncoder
)
{
this
.
userService
=
userService
;
this
.
passwordEncoder
=
passwordEncoder
;
}
...
...
@@ -44,20 +50,13 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected
void
configure
(
AuthenticationManagerBuilder
auth
)
throws
Exception
{
auth
.
userDetailsService
(
userService
).
passwordEncoder
(
new
PasswordEncoder
()
{
@Override
public
String
encode
(
CharSequence
rawPass
)
{
return
PwdUtil
.
MD5
(
rawPass
.
toString
().
toLowerCase
()
+
Constant
.
PASSWORD_SALT
);
}
auth
.
userDetailsService
(
userService
).
passwordEncoder
(
passwordEncoder
);
}
@Override
public
boolean
matches
(
CharSequence
rawPass
,
String
password
)
{
if
(
StringUtils
.
isEmpty
(
password
))
{
return
false
;
}
return
password
.
equals
(
PwdUtil
.
MD5
(
rawPass
.
toString
().
toLowerCase
()
+
Constant
.
PASSWORD_SALT
));
}
});
@Override
public
UserDetailsService
userDetailsServiceBean
()
{
return
userService
;
}
@Bean
...
...
src/main/java/cn/quantgroup/customer/rest/UserRest.java
View file @
5a78881f
...
...
@@ -2,7 +2,7 @@ package cn.quantgroup.customer.rest;
import
cn.quantgroup.customer.entity.User
;
import
cn.quantgroup.customer.rest.param.LoginParam
;
import
cn.quantgroup.customer.rest.vo.
Simple
UserVo
;
import
cn.quantgroup.customer.rest.vo.
Auth
UserVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.security.authentication.AuthenticationManager
;
import
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
;
...
...
@@ -40,8 +40,8 @@ public class UserRest {
if
(
authentication
!=
null
&&
authentication
.
isAuthenticated
())
{
User
principal
=
(
User
)
authentication
.
getPrincipal
();
SimpleUserVo
simpleUserVo
=
Simple
UserVo
.
parse
(
principal
);
return
JsonResult
.
buildSuccessResult
(
LOGIN_SUCCESS
,
simple
UserVo
);
AuthUserVo
authUserVo
=
Auth
UserVo
.
parse
(
principal
);
return
JsonResult
.
buildSuccessResult
(
LOGIN_SUCCESS
,
auth
UserVo
);
}
return
JsonResult
.
buildErrorStateResult
(
LOGIN_FAIL
,
null
);
}
...
...
src/main/java/cn/quantgroup/customer/rest/vo/
Simple
UserVo.java
→
src/main/java/cn/quantgroup/customer/rest/vo/
Auth
UserVo.java
View file @
5a78881f
...
...
@@ -4,6 +4,7 @@ import cn.quantgroup.customer.entity.User;
import
lombok.Builder
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.security.core.GrantedAuthority
;
import
java.util.List
;
...
...
@@ -12,15 +13,17 @@ import java.util.stream.Collectors;
@Getter
@Setter
@Builder
public
class
Simple
UserVo
{
public
class
Auth
UserVo
{
private
String
username
;
private
List
<
String
>
authorities
;
public
static
Simple
UserVo
parse
(
User
user
)
{
SimpleUserVo
.
SimpleUserVoBuilder
builder
=
Simple
UserVo
.
builder
();
public
static
Auth
UserVo
parse
(
User
user
)
{
AuthUserVo
.
AuthUserVoBuilder
builder
=
Auth
UserVo
.
builder
();
builder
.
username
(
user
.
getUsername
());
List
<
String
>
authorityList
=
user
.
getAuthorities
().
stream
().
map
(
GrantedAuthority:
:
getAuthority
).
collect
(
Collectors
.
toList
());
builder
.
authorities
(
authorityList
);
if
(
CollectionUtils
.
isNotEmpty
(
user
.
getAuthorities
()))
{
List
<
String
>
authorityList
=
user
.
getAuthorities
().
stream
().
map
(
GrantedAuthority:
:
getAuthority
).
collect
(
Collectors
.
toList
());
builder
.
authorities
(
authorityList
);
}
return
builder
.
build
();
}
}
src/main/java/cn/quantgroup/customer/service/impl/UserServiceImpl.java
View file @
5a78881f
...
...
@@ -10,14 +10,12 @@ import cn.quantgroup.customer.repo.UserRepo;
import
cn.quantgroup.customer.repo.UserRoleRepo
;
import
cn.quantgroup.customer.service.IUserService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
(
"userService"
)
...
...
@@ -44,6 +42,7 @@ public class UserServiceImpl implements IUserService {
throw
new
UsernameNotFoundException
(
"user: "
+
userName
+
" do not exist!"
);
}
/*
List<UserRole> userRoles = findUserRoleByUserId(user.getId());
if (CollectionUtils.isNotEmpty(userRoles)) {
List<RoleAuthority> roleAuthorityList = findRoleAuthorityByRoleIds(
...
...
@@ -56,6 +55,7 @@ public class UserServiceImpl implements IUserService {
user.setAuthorities(authorities);
}
}
*/
return
user
;
}
...
...
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