diff --git a/eladmin-common/pom.xml b/eladmin-common/pom.xml
index 472ab79e..672f4467 100644
--- a/eladmin-common/pom.xml
+++ b/eladmin-common/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 1.5
+ 1.8
4.0.0
diff --git a/eladmin-common/src/main/java/me/zhengjie/swagger2/SwaggerConfig.java b/eladmin-common/src/main/java/me/zhengjie/swagger2/SwaggerConfig.java
index 405f9609..a9bf30de 100644
--- a/eladmin-common/src/main/java/me/zhengjie/swagger2/SwaggerConfig.java
+++ b/eladmin-common/src/main/java/me/zhengjie/swagger2/SwaggerConfig.java
@@ -29,6 +29,9 @@ public class SwaggerConfig {
@Value("${jwt.header}")
private String tokenHeader;
+ @Value("${swagger.enabled}")
+ private Boolean enabled;
+
@Bean
public Docket createRestApi() {
ParameterBuilder ticketPar = new ParameterBuilder();
@@ -41,6 +44,7 @@ public class SwaggerConfig {
.build();
pars.add(ticketPar.build());
return new Docket(DocumentationType.SWAGGER_2)
+ .enable(enabled)
.apiInfo(apiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/error.*")))
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java
index 7cf86340..d0a45ea6 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java
@@ -93,8 +93,4 @@ public class EncryptUtils {
public static String encryptPassword(String password){
return DigestUtils.md5DigestAsHex(password.getBytes());
}
-
- public static void main(String[] args) {
- System.out.println(encryptPassword("123456"));
- }
}
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityContextHolder.java b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
similarity index 52%
rename from eladmin-common/src/main/java/me/zhengjie/utils/SecurityContextHolder.java
rename to eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
index 5529aa4e..07c6e92a 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/SecurityContextHolder.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java
@@ -1,16 +1,16 @@
package me.zhengjie.utils;
+import cn.hutool.json.JSONObject;
import me.zhengjie.exception.BadRequestException;
import org.springframework.http.HttpStatus;
import org.springframework.security.core.userdetails.UserDetails;
/**
- * 获取当前登录的用户名
- *
+ * 获取当前登录的用户
* @author jie
* @date 2019-01-17
*/
-public class SecurityContextHolder {
+public class SecurityUtils {
public static UserDetails getUserDetails() {
UserDetails userDetails = null;
@@ -21,4 +21,24 @@ public class SecurityContextHolder {
}
return userDetails;
}
+
+ /**
+ * 获取系统用户名称
+ * @return 系统用户名称
+ */
+ public static String getUsername(){
+ Object obj = getUserDetails();
+ JSONObject json = new JSONObject(obj);
+ return json.get("username", String.class);
+ }
+
+ /**
+ * 获取系统用户id
+ * @return 系统用户id
+ */
+ public static Long getUserId(){
+ Object obj = getUserDetails();
+ JSONObject json = new JSONObject(obj);
+ return json.get("id", Long.class);
+ }
}
diff --git a/eladmin-common/src/test/java/me/zhengjie/utils/EncryptUtilsTest.java b/eladmin-common/src/test/java/me/zhengjie/utils/EncryptUtilsTest.java
new file mode 100644
index 00000000..f909d9db
--- /dev/null
+++ b/eladmin-common/src/test/java/me/zhengjie/utils/EncryptUtilsTest.java
@@ -0,0 +1,32 @@
+package me.zhengjie.utils;
+
+import org.junit.Test;
+import static org.junit.Assert.*;
+import static me.zhengjie.utils.EncryptUtils.*;
+
+public class EncryptUtilsTest {
+
+ /**
+ * 对称加密
+ */
+ @Test
+ public void testDesEncrypt() {
+ try {
+ assertEquals("7772841DC6099402", desEncrypt("123456"));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 对称解密
+ */
+ @Test
+ public void testDesDecrypt() {
+ try {
+ assertEquals("123456", desDecrypt("7772841DC6099402"));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/eladmin-generator/pom.xml b/eladmin-generator/pom.xml
index bc449a61..403f4012 100644
--- a/eladmin-generator/pom.xml
+++ b/eladmin-generator/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 1.5
+ 1.8
4.0.0
@@ -19,7 +19,7 @@
me.zhengjie
eladmin-common
- 1.5
+ 1.8
diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java b/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java
index 7f912be8..52499d3b 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java
@@ -2,6 +2,7 @@ package me.zhengjie.service;
import me.zhengjie.domain.GenConfig;
import org.springframework.cache.annotation.CacheConfig;
+import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
@@ -23,6 +24,6 @@ public interface GenConfigService {
* update
* @param genConfig
*/
- @CachePut(key = "'1'")
+ @CacheEvict(allEntries = true)
GenConfig update(GenConfig genConfig);
}
diff --git a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java
index 3917d348..1645f993 100644
--- a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java
+++ b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java
@@ -239,8 +239,4 @@ public class GenUtil {
writer.close();
}
}
-
- public static void main(String[] args){
- System.out.println(FileUtil.exist("E:\\1.5.txt"));
- }
}
diff --git a/eladmin-logging/pom.xml b/eladmin-logging/pom.xml
index 698d63d7..c4a944dd 100644
--- a/eladmin-logging/pom.xml
+++ b/eladmin-logging/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 1.5
+ 1.8
4.0.0
@@ -15,7 +15,7 @@
me.zhengjie
eladmin-common
- 1.5
+ 1.8
\ No newline at end of file
diff --git a/eladmin-logging/src/main/java/me/zhengjie/rest/LogController.java b/eladmin-logging/src/main/java/me/zhengjie/rest/LogController.java
index 39f0ddf4..bb7059a7 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/rest/LogController.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/rest/LogController.java
@@ -2,7 +2,7 @@ package me.zhengjie.rest;
import me.zhengjie.domain.Log;
import me.zhengjie.service.query.LogQueryService;
-import me.zhengjie.utils.SecurityContextHolder;
+import me.zhengjie.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
@@ -33,7 +33,7 @@ public class LogController {
@GetMapping(value = "/logs/user")
public ResponseEntity getUserLogs(Log log, Pageable pageable){
log.setLogType("INFO");
- log.setUsername(SecurityContextHolder.getUserDetails().getUsername());
+ log.setUsername(SecurityUtils.getUsername());
return new ResponseEntity(logQueryService.queryAll(log,pageable), HttpStatus.OK);
}
diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java b/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java
index b5867f2b..2e6ef26a 100644
--- a/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java
+++ b/eladmin-logging/src/main/java/me/zhengjie/service/impl/LogServiceImpl.java
@@ -5,12 +5,11 @@ import me.zhengjie.domain.Log;
import me.zhengjie.repository.LogRepository;
import me.zhengjie.service.LogService;
import me.zhengjie.utils.RequestHolder;
-import me.zhengjie.utils.SecurityContextHolder;
+import me.zhengjie.utils.SecurityUtils;
import me.zhengjie.utils.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@@ -66,8 +65,7 @@ public class LogServiceImpl implements LogService {
log.setRequestIp(StringUtils.getIP(request));
if(!LOGINPATH.equals(signature.getName())){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
- username = userDetails.getUsername();
+ username = SecurityUtils.getUsername();
} else {
try {
JSONObject jsonObject = new JSONObject(argValues[0]);
diff --git a/eladmin-system/pom.xml b/eladmin-system/pom.xml
index 967a6ba8..df5f5c4b 100644
--- a/eladmin-system/pom.xml
+++ b/eladmin-system/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 1.5
+ 1.8
4.0.0
@@ -20,7 +20,7 @@
me.zhengjie
eladmin-generator
- 1.5
+ 1.8
me.zhengjie
@@ -32,7 +32,7 @@
me.zhengjie
eladmin-tools
- 1.5
+ 1.8
diff --git a/eladmin-system/src/main/java/me/zhengjie/config/DataScope.java b/eladmin-system/src/main/java/me/zhengjie/config/DataScope.java
index 35f9e270..72fc3fa9 100644
--- a/eladmin-system/src/main/java/me/zhengjie/config/DataScope.java
+++ b/eladmin-system/src/main/java/me/zhengjie/config/DataScope.java
@@ -6,9 +6,8 @@ import me.zhengjie.modules.system.domain.User;
import me.zhengjie.modules.system.service.DeptService;
import me.zhengjie.modules.system.service.RoleService;
import me.zhengjie.modules.system.service.UserService;
-import me.zhengjie.utils.SecurityContextHolder;
+import me.zhengjie.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashSet;
@@ -36,7 +35,7 @@ public class DataScope {
public Set getDeptIds() {
- User user = userService.findByName(SecurityContextHolder.getUserDetails().getUsername());
+ User user = userService.findByName(SecurityUtils.getUsername());
// 用于存储部门id
Set deptIds = new HashSet<>();
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthenticationController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthenticationController.java
index aa1a6a4b..19de5ddf 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthenticationController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthenticationController.java
@@ -7,13 +7,12 @@ import me.zhengjie.modules.security.security.AuthorizationUser;
import me.zhengjie.modules.security.security.JwtUser;
import me.zhengjie.utils.EncryptUtils;
import me.zhengjie.modules.security.utils.JwtTokenUtil;
-import me.zhengjie.utils.SecurityContextHolder;
+import me.zhengjie.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.AccountExpiredException;
-import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -70,8 +69,7 @@ public class AuthenticationController {
*/
@GetMapping(value = "${jwt.auth.account}")
public ResponseEntity getUserInfo(){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
- JwtUser jwtUser = (JwtUser)userDetailsService.loadUserByUsername(userDetails.getUsername());
+ JwtUser jwtUser = (JwtUser)userDetailsService.loadUserByUsername(SecurityUtils.getUsername());
return ResponseEntity.ok(jwtUser);
}
}
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
index 6d7daac1..1dcdc276 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java
@@ -10,12 +10,11 @@ import me.zhengjie.modules.system.service.UserService;
import me.zhengjie.modules.system.service.dto.MenuDTO;
import me.zhengjie.modules.system.service.mapper.MenuMapper;
import me.zhengjie.modules.system.service.query.MenuQueryService;
-import me.zhengjie.utils.SecurityContextHolder;
+import me.zhengjie.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -51,8 +50,7 @@ public class MenuController {
*/
@GetMapping(value = "/menus/build")
public ResponseEntity buildMenus(){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
- User user = userService.findByName(userDetails.getUsername());
+ User user = userService.findByName(SecurityUtils.getUsername());
List menuDTOList = menuService.findByRoles(roleService.findByUsers_Id(user.getId()));
List menuDTOTree = (List)menuService.buildTree(menuDTOList).get("content");
return new ResponseEntity(menuService.buildMenus(menuDTOTree),HttpStatus.OK);
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
index a6812f24..f5e6e6da 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
@@ -122,7 +122,7 @@ public class UserController {
*/
@GetMapping(value = "/users/validPass/{pass}")
public ResponseEntity validPass(@PathVariable String pass){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
+ UserDetails userDetails = SecurityUtils.getUserDetails();
Map map = new HashMap();
map.put("status",200);
if(!userDetails.getPassword().equals(EncryptUtils.encryptPassword(pass))){
@@ -138,7 +138,7 @@ public class UserController {
*/
@GetMapping(value = "/users/updatePass/{pass}")
public ResponseEntity updatePass(@PathVariable String pass){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
+ UserDetails userDetails = SecurityUtils.getUserDetails();
if(userDetails.getPassword().equals(EncryptUtils.encryptPassword(pass))){
throw new BadRequestException("新密码不能与旧密码相同");
}
@@ -153,9 +153,8 @@ public class UserController {
*/
@PostMapping(value = "/users/updateAvatar")
public ResponseEntity updateAvatar(@RequestParam MultipartFile file){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
- Picture picture = pictureService.upload(file,userDetails.getUsername());
- userService.updateAvatar(userDetails.getUsername(),picture.getUrl());
+ Picture picture = pictureService.upload(file, SecurityUtils.getUsername());
+ userService.updateAvatar(SecurityUtils.getUsername(),picture.getUrl());
return new ResponseEntity(HttpStatus.OK);
}
@@ -168,7 +167,7 @@ public class UserController {
@Log("修改邮箱")
@PostMapping(value = "/users/updateEmail/{code}")
public ResponseEntity updateEmail(@PathVariable String code,@RequestBody User user){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
+ UserDetails userDetails = SecurityUtils.getUserDetails();
if(!userDetails.getPassword().equals(EncryptUtils.encryptPassword(user.getPassword()))){
throw new BadRequestException("密码错误");
}
diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml
index 827de224..93178b0b 100644
--- a/eladmin-system/src/main/resources/config/application-dev.yml
+++ b/eladmin-system/src/main/resources/config/application-dev.yml
@@ -59,4 +59,8 @@ jwt:
#是否允许生成代码,生产环境设置为false
generator:
+ enabled: true
+
+#是否开启 swagger-ui
+swagger:
enabled: true
\ No newline at end of file
diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml
index cd21bb3f..54d5d778 100644
--- a/eladmin-system/src/main/resources/config/application-prod.yml
+++ b/eladmin-system/src/main/resources/config/application-prod.yml
@@ -66,4 +66,8 @@ generator:
# documentation:
# swagger:
# v2:
-# host: # 接口域名或外网ip
\ No newline at end of file
+# host: # 接口域名或外网ip
+
+#是否开启 swagger-ui
+swagger:
+ enabled: false
\ No newline at end of file
diff --git a/eladmin-tools/pom.xml b/eladmin-tools/pom.xml
index d6106090..349e1fcf 100644
--- a/eladmin-tools/pom.xml
+++ b/eladmin-tools/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 1.5
+ 1.8
4.0.0
@@ -22,7 +22,7 @@
me.zhengjie
eladmin-logging
- 1.5
+ 1.8
diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/PictureController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/PictureController.java
index 4eedfaec..285c6693 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/rest/PictureController.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/rest/PictureController.java
@@ -4,13 +4,12 @@ import me.zhengjie.aop.log.Log;
import me.zhengjie.domain.Picture;
import me.zhengjie.service.PictureService;
import me.zhengjie.service.query.PictureQueryService;
-import me.zhengjie.utils.SecurityContextHolder;
+import me.zhengjie.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
@@ -47,8 +46,7 @@ public class PictureController {
@PreAuthorize("hasAnyRole('ADMIN','PICTURE_ALL','PICTURE_UPLOAD')")
@PostMapping(value = "/pictures")
public ResponseEntity upload(@RequestParam MultipartFile file){
- UserDetails userDetails = SecurityContextHolder.getUserDetails();
- String userName = userDetails.getUsername();
+ String userName = SecurityUtils.getUsername();
Picture picture = pictureService.upload(file,userName);
Map map = new HashMap();
map.put("errno",0);
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
index 35b84688..31dd1251 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
@@ -19,7 +19,7 @@ public interface QiNiuService {
* 查配置
* @return
*/
- @Cacheable(key = "'1'")
+ @Cacheable(cacheNames = "qiNiuConfig", key = "'1'")
QiniuConfig find();
/**
@@ -27,7 +27,7 @@ public interface QiNiuService {
* @param qiniuConfig
* @return
*/
- @CachePut(key = "'1'")
+ @CachePut(cacheNames = "qiNiuConfig", key = "'1'")
QiniuConfig update(QiniuConfig qiniuConfig);
/**
diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
index 7d3a79fc..5aa905e5 100644
--- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
+++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java
@@ -1,5 +1,6 @@
package me.zhengjie.service.impl;
+import cn.hutool.extra.mail.Mail;
import cn.hutool.extra.mail.MailAccount;
import cn.hutool.extra.mail.MailUtil;
import me.zhengjie.domain.EmailConfig;
@@ -76,12 +77,15 @@ public class EmailServiceImpl implements EmailService {
/**
* 发送
*/
+ new MailAccount();
try {
- MailUtil.send(account,
- emailVo.getTos(),
- emailVo.getSubject(),
- content,
- true);
+ Mail.create(account)
+ .setTos(String.valueOf(emailVo.getTos()))
+ .setTitle(emailVo.getSubject())
+ .setContent(content)
+ .setHtml(true)
+ .setUseGlobalSession(false)//关闭session
+ .send();
}catch (Exception e){
throw new BadRequestException(e.getMessage());
}
diff --git a/pom.xml b/pom.xml
index 1d2ce513..1e9dc2ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
me.zhengjie
eladmin
pom
- 1.5
+ 1.8
eladmin-common