Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
education
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李丛阳
education
Commits
f2a7f11e
Commit
f2a7f11e
authored
Nov 24, 2017
by
李丛阳
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
education init
parent
3314b331
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
258 additions
and
8 deletions
+258
-8
AuthenticationController.java
...org/rcisoft/core/controller/AuthenticationController.java
+68
-0
AuthenticationService.java
.../java/org/rcisoft/core/service/AuthenticationService.java
+30
-0
AuthenticationServiceImpl.java
.../rcisoft/core/service/impl/AuthenticationServiceImpl.java
+85
-0
JwtUserDetailServiceImpl.java
...g/rcisoft/core/service/impl/JwtUserDetailServiceImpl.java
+40
-0
JwtUserFactory.java
src/main/java/org/rcisoft/core/util/JwtUserFactory.java
+1
-1
UserController.java
.../java/org/rcisoft/sys/user/controller/UserController.java
+5
-5
SysUser.java
src/main/java/org/rcisoft/sys/user/entity/SysUser.java
+1
-1
application-dev.yml
src/main/resources/application-dev.yml
+1
-1
UserMapper.xml
src/main/resources/mapper/UserMapper.xml
+27
-0
No files found.
src/main/java/org/rcisoft/core/controller/AuthenticationController.java
0 → 100644
View file @
f2a7f11e
package
org
.
rcisoft
.
core
.
controller
;
import
org.rcisoft.core.result.Result
;
import
org.rcisoft.core.service.AuthenticationService
;
import
org.rcisoft.core.util.ResultGenerator
;
import
org.rcisoft.sys.user.entity.SysUser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
/**
* Created by lcy on 17/11/24.
*/
@RestController
@RequestMapping
(
"/auth"
)
public
class
AuthenticationController
{
@Value
(
"${jwt.header}"
)
private
String
tokenHeader
;
@Autowired
private
AuthenticationService
authenticationServiceImpl
;
/**
* 登录
* @param username
* @param password
* @return
*/
@RequestMapping
(
value
=
"${jwt.route.authentication.path}"
,
method
=
RequestMethod
.
POST
)
public
Result
login
(
@RequestParam
(
"username"
)
String
username
,
@RequestParam
(
"password"
)
String
password
){
final
String
token
=
authenticationServiceImpl
.
login
(
username
,
password
);
Result
result
=
ResultGenerator
.
genSuccessResult
(
token
);
return
result
;
}
/**
* 注册
* @param addedUser
* @return
*/
@RequestMapping
(
value
=
"${jwt.route.authentication.register}"
,
method
=
RequestMethod
.
POST
)
public
Result
register
(
SysUser
addedUser
){
authenticationServiceImpl
.
register
(
addedUser
);
return
ResultGenerator
.
genSuccessResult
();
}
@RequestMapping
(
value
=
"${jwt.route.authentication.refresh}"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
<?>
refreshAndGetAuthenticationToken
(
HttpServletRequest
request
){
String
token
=
request
.
getHeader
(
tokenHeader
);
String
refreshedToken
=
authenticationServiceImpl
.
refresh
(
token
);
if
(
refreshedToken
==
null
)
{
return
ResponseEntity
.
badRequest
().
body
(
null
);
}
else
{
return
ResponseEntity
.
ok
(
refreshedToken
);
}
}
}
src/main/java/org/rcisoft/core/service/AuthenticationService.java
0 → 100644
View file @
f2a7f11e
package
org
.
rcisoft
.
core
.
service
;
import
org.rcisoft.sys.user.entity.SysUser
;
/**
* Created by lcy on 17/11/24.
*/
public
interface
AuthenticationService
{
/**
* 注册
* @param userToAdd
*/
void
register
(
SysUser
userToAdd
);
/**
* 登录
* @param username
* @param password
* @return
*/
String
login
(
String
username
,
String
password
);
/**
* 刷新
* @param oldToken
* @return
*/
String
refresh
(
String
oldToken
);
}
src/main/java/org/rcisoft/core/service/impl/AuthenticationServiceImpl.java
0 → 100644
View file @
f2a7f11e
package
org
.
rcisoft
.
core
.
service
.
impl
;
import
org.rcisoft.core.exception.ServiceException
;
import
org.rcisoft.core.result.ResultExceptionEnum
;
import
org.rcisoft.core.service.AuthenticationService
;
import
org.rcisoft.core.util.JwtUtil
;
import
org.rcisoft.sys.user.dao.SysUserMapper
;
import
org.rcisoft.sys.user.entity.SysUser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.security.authentication.AuthenticationManager
;
import
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetailsService
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
/**
* Created by lcy on 17/11/24.
*/
@Service
@Transactional
(
readOnly
=
true
,
propagation
=
Propagation
.
NOT_SUPPORTED
)
public
class
AuthenticationServiceImpl
implements
AuthenticationService
{
@Autowired
private
AuthenticationManager
authenticationManager
;
@Autowired
private
UserDetailsService
userDetailsService
;
@Autowired
private
SysUserMapper
sysUserMapper
;
@Autowired
private
PasswordEncoder
passwordEncoder
;
/*@Autowired
public AuthenticationServiceImpl(AuthenticationManager authenticationManager,
UserDetailsService userDetailsService,
SysUserMapper sysUserMapper,
PasswordEncoder passwordEncoder) {
this.authenticationManager = authenticationManager;
this.userDetailsService = userDetailsService;
this.sysUserMapper = sysUserMapper;
this.passwordEncoder = passwordEncoder;
}*/
@Value
(
"${jwt.tokenHead}"
)
private
String
tokenHead
;
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
readOnly
=
false
)
@Override
public
void
register
(
SysUser
userToAdd
)
{
Example
example
=
new
Example
(
SysUser
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
List
<
SysUser
>
sysUser
=
sysUserMapper
.
selectByExample
(
example
);
if
(
sysUser
.
size
()
>
0
)
throw
new
ServiceException
(
ResultExceptionEnum
.
USER_EXISTS
);
userToAdd
.
setPassword
(
passwordEncoder
.
encode
(
userToAdd
.
getPassword
()));
int
result
=
sysUserMapper
.
insertSelective
(
userToAdd
);
if
(
result
==
0
)
throw
new
ServiceException
(
ResultExceptionEnum
.
SAVE_ERROR
);
}
@Override
public
String
login
(
String
username
,
String
password
)
{
UsernamePasswordAuthenticationToken
upToken
=
new
UsernamePasswordAuthenticationToken
(
username
,
password
);
//进入到 UserDetailsService loadUserByUsername 方法
final
Authentication
authentication
=
authenticationManager
.
authenticate
(
upToken
);
SecurityContextHolder
.
getContext
().
setAuthentication
(
authentication
);
final
UserDetails
userDetails
=
userDetailsService
.
loadUserByUsername
(
username
);
final
String
token
=
JwtUtil
.
generateToken
(
userDetails
);
return
token
;
}
@Override
public
String
refresh
(
String
oldToken
)
{
return
null
;
}
}
src/main/java/org/rcisoft/core/service/impl/JwtUserDetailServiceImpl.java
0 → 100644
View file @
f2a7f11e
package
org
.
rcisoft
.
core
.
service
.
impl
;
import
org.rcisoft.core.util.JwtUserFactory
;
import
org.rcisoft.sys.user.dao.SysUserMapper
;
import
org.rcisoft.sys.user.entity.SysUser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetailsService
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
/**
* Created by lcy on 17/11/21.
*/
@Service
public
class
JwtUserDetailServiceImpl
implements
UserDetailsService
{
@Autowired
private
SysUserMapper
sysUserMapper
;
@Override
public
UserDetails
loadUserByUsername
(
String
username
)
throws
UsernameNotFoundException
{
//调用持久层从数据库获取用户信息
Example
example
=
new
Example
(
SysUser
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
List
<
SysUser
>
sysUser
=
sysUserMapper
.
selectByExample
(
example
);
if
(
sysUser
==
null
||
sysUser
.
size
()
==
0
)
throw
new
UsernameNotFoundException
(
"用户名不存在"
);
/*List<SysRole> roles = sysRoleRepository.findRolesByUserId(sysUser.getId()); //根据用户id或者用户权限列表
if (CollectionUtils.isEmpty(roles))
roles = Collections.emptyList();
sysUser.setRoles(roles);*/
return
JwtUserFactory
.
create
(
sysUser
.
get
(
0
));
}
}
src/main/java/org/rcisoft/core/util/JwtUserFactory.java
View file @
f2a7f11e
...
@@ -19,7 +19,7 @@ public final class JwtUserFactory {
...
@@ -19,7 +19,7 @@ public final class JwtUserFactory {
public
static
JwtUser
create
(
SysUser
user
){
public
static
JwtUser
create
(
SysUser
user
){
return
new
JwtUser
(
return
new
JwtUser
(
user
.
getBusinessId
(),
user
.
getBusinessId
(),
user
.
get
Usern
ame
(),
user
.
get
LoginN
ame
(),
user
.
getPassword
(),
user
.
getPassword
(),
new
ArrayList
<
GrantedAuthority
>()
new
ArrayList
<
GrantedAuthority
>()
);
);
...
...
src/main/java/org/rcisoft/sys/user/controller/UserController.java
View file @
f2a7f11e
package
org
.
rcisoft
.
sys
.
user
.
controller
;
package
org
.
rcisoft
.
sys
.
user
.
controller
;
import
org.rcisoft.
sys.model.AjaxResponse
;
import
org.rcisoft.
core.result.Result
;
import
org.rcisoft.sys.user.entity.SysUser
;
import
org.rcisoft.sys.user.entity.SysUser
;
import
org.rcisoft.sys.user.service.UserService
;
import
org.rcisoft.sys.user.service.UserService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -17,14 +17,14 @@ public class UserController {
...
@@ -17,14 +17,14 @@ public class UserController {
private
UserService
userServiceImpl
;
private
UserService
userServiceImpl
;
@RequestMapping
(
value
=
"/addUser"
)
@RequestMapping
(
value
=
"/addUser"
)
public
AjaxResponse
addUser
(
SysUser
user
,
AjaxResponse
response
){
public
Result
addUser
(
SysUser
user
,
Result
result
){
try
{
try
{
userServiceImpl
.
addUser
(
user
);
userServiceImpl
.
addUser
(
user
);
response
.
setErrorMessage
(
"添加失败"
,
null
);
//
response.setErrorMessage("添加失败",null);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
e
.
printStackTrace
();
e
.
printStackTrace
();
response
.
setErrorMessage
(
e
.
getMessage
(),
""
);
//
response.setErrorMessage(e.getMessage(),"");
}
}
return
res
ponse
;
return
res
ult
;
}
}
}
}
src/main/java/org/rcisoft/sys/user/entity/SysUser.java
View file @
f2a7f11e
...
@@ -24,7 +24,7 @@ public class SysUser extends IdEntity<SysUser> {
...
@@ -24,7 +24,7 @@ public class SysUser extends IdEntity<SysUser> {
/** 密码 */
/** 密码 */
private
String
password
;
private
String
password
;
/** 用户名 */
/** 用户名 */
private
String
usern
ame
;
private
String
loginN
ame
;
/** 用户名 */
/** 用户名 */
private
String
name
;
private
String
name
;
}
}
src/main/resources/application-dev.yml
View file @
f2a7f11e
...
@@ -11,7 +11,7 @@ logging:
...
@@ -11,7 +11,7 @@ logging:
org.springframework.web
:
DEBUG
org.springframework.web
:
DEBUG
druid
:
druid
:
url
:
jdbc:mysql://127.0.0.1:3306/
boot
?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
url
:
jdbc:mysql://127.0.0.1:3306/
edu_db
?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
username
:
root
username
:
root
password
:
cy
password
:
cy
initial-size
:
1
initial-size
:
1
...
...
src/main/resources/mapper/UserMapper.xml
0 → 100644
View file @
f2a7f11e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.rcisoft.sys.user.dao.SysUserMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.rcisoft.sys.user.entity.SysUser"
>
<id
column=
"BUSINESS_ID"
jdbcType=
"VARCHAR"
property=
"businessId"
/>
<result
column=
"loginName"
jdbcType=
"VARCHAR"
property=
"login_name"
/>
<result
column=
"NAME"
jdbcType=
"VARCHAR"
property=
"name"
/>
<result
column=
"PASSWORD"
jdbcType=
"VARCHAR"
property=
"password"
/>
<result
column=
"email"
jdbcType=
"VARCHAR"
property=
"email"
/>
<result
column=
"phone"
jdbcType=
"VARCHAR"
property=
"phone"
/>
<!--dataEntity-->
<result
column=
"remarks"
jdbcType=
"VARCHAR"
property=
"remarks"
/>
<result
column=
"CREATE_BY"
property=
"createBy"
jdbcType=
"VARCHAR"
/>
<result
column=
"UPDATE_BY"
property=
"updateBy"
jdbcType=
"VARCHAR"
/>
<result
column=
"DEL_FLAG"
property=
"delFlag"
jdbcType=
"VARCHAR"
/>
<result
column=
"FLAG"
property=
"flag"
jdbcType=
"VARCHAR"
/>
<result
column=
"update_date"
property=
"updateDate"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"create_date"
property=
"createDate"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
</mapper>
\ No newline at end of file
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