From bb56629b6a9dd4527a32905bfbbb8d9a19e5faf9 Mon Sep 17 00:00:00 2001
From: haozq <1611483981@qq.com>
Date: Fri, 5 Dec 2025 15:40:36 +0800
Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=99=BB=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/compiler.xml | 4 +-
.idea/jarRepositories.xml | 5 -
.idea/misc.xml | 2 +-
.idea/workspace.xml | 237 +++++++++++++++++-
.../controller/PublicLoginController.java | 38 +++
.../login/service/PublicLoginService.java | 71 ++++++
.../bonus/hnrn/rnbmw/login/vo/LoginForm.java | 11 +
.../manager/config/BnsSecurityConfig.java | 4 +-
.../hnrn/rnbmw/manager/entity/Token.java | 22 +-
.../src/main/resources/bootstrap.yml | 4 +-
.../controller/PublicLoginController.java | 1 +
.../PublicLoginService.java | 3 +-
HnRealNameMw/src/main/resources/bootstrap.yml | 4 +-
.../controller/PublicLoginController.java | 37 +++
.../login/service/PublicLoginService.java | 103 ++++++++
.../backstage/login/vo/LoginForm.java | 11 +
.../manager/config/BnsSecurityConfig.java | 2 +-
.../backstage/manager/entity/Token.java | 21 ++
.../src/main/resources/bootstrap.yml | 4 +-
.../com/bonus/gateway/filter/AuthFilter.java | 2 +-
.../src/main/resources/bootstrap-dev.yml | 4 +-
.../src/main/resources/bootstrap-druid.yml | 4 +-
.../src/main/resources/bootstrap-prod.yml | 4 +-
.../controller/PublicLoginController.java | 38 +++
.../login/service/PublicLoginService.java | 74 ++++++
.../capacity/screen/login/vo/LoginForm.java | 11 +
.../manager/config/BnsSecurityConfig.java | 2 +-
.../manager/config/SecurityHandlerConfig.java | 4 +-
.../capacity/screen/manager/entity/Token.java | 20 ++
.../screen/manager/filter/VerifyFilter.java | 1 +
.../src/main/resources/bootstrap.yml | 4 +-
31 files changed, 719 insertions(+), 33 deletions(-)
create mode 100644 HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java
create mode 100644 HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/PublicLoginService.java
create mode 100644 HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/LoginForm.java
rename HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/{controller => service}/PublicLoginService.java (95%)
create mode 100644 hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java
create mode 100644 hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java
create mode 100644 hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/vo/LoginForm.java
create mode 100644 hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/controller/PublicLoginController.java
create mode 100644 hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/service/PublicLoginService.java
create mode 100644 hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/vo/LoginForm.java
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index f474627..6444e93 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,7 +7,6 @@
-
@@ -23,6 +22,7 @@
+
@@ -32,7 +32,7 @@
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 6827ae6..3dfb61d 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -6,11 +6,6 @@
-
-
-
-
-
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 0e21bf6..0f8edc3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -13,7 +13,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 1ac928b..ac746a6 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,4 +1,239 @@
- {}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1764900432287
+
+
+ 1764900432287
+
+
+
+
+ 1764900500635
+
+
+
+ 1764900500635
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$PROJECT_DIR$/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/controller/UserController.java
+ 58
+
+
+
+ file://$PROJECT_DIR$/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/service/impl/UserServiceImpl.java
+ 93
+
+
+
+ file://$PROJECT_DIR$/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/service/impl/UserServiceImpl.java
+ 126
+
+
+
+
+
\ No newline at end of file
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java
new file mode 100644
index 0000000..f8bef2d
--- /dev/null
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/controller/PublicLoginController.java
@@ -0,0 +1,38 @@
+package com.bonus.hnrn.rnbmw.login.controller;
+
+
+import com.bonus.hnrn.rnbmw.login.service.PublicLoginService;
+import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 默认公共登录方法
+ */
+@RestController
+@RequestMapping(value = "/publicLogin")
+public class PublicLoginController {
+
+ @Autowired
+ private PublicLoginService loginService;
+
+ /**
+ * 系统登录
+ * @param token
+ * @param response
+ */
+ @PostMapping("defaultLogin")
+ public void login(@RequestBody LoginForm token, HttpServletResponse response) {
+ loginService.login(token,response);
+ }
+
+
+
+
+
+}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/PublicLoginService.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/PublicLoginService.java
new file mode 100644
index 0000000..7bcf953
--- /dev/null
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/service/PublicLoginService.java
@@ -0,0 +1,71 @@
+package com.bonus.hnrn.rnbmw.login.service;
+
+
+
+import com.bonus.hnrn.rnbmw.login.vo.LoginForm;
+import com.bonus.hnrn.rnbmw.manager.dao.PermissionDao;
+import com.bonus.hnrn.rnbmw.manager.entity.LoginUser;
+import com.bonus.hnrn.rnbmw.manager.entity.Token;
+import com.bonus.hnrn.rnbmw.manager.model.Permission;
+import com.bonus.hnrn.rnbmw.manager.model.SysUser;
+import com.bonus.hnrn.rnbmw.manager.service.TokenService;
+import com.bonus.hnrn.rnbmw.manager.service.UserService;
+import com.bonus.hnrn.rnbmw.manager.utils.AESCBCUtils;
+import com.bonus.hnrn.rnbmw.manager.utils.ResponseUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
+import org.springframework.security.authentication.DisabledException;
+import org.springframework.security.authentication.LockedException;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 系统登录
+ */
+@Service
+@Slf4j
+public class PublicLoginService {
+
+
+ @Autowired
+ private UserService userService;
+ @Autowired
+ private PermissionDao permissionDao;
+ @Autowired
+ private TokenService tokenService;
+ /**
+ * 系统登录
+ * @param us
+ * @param response
+ */
+ public void login(LoginForm us, HttpServletResponse response) {
+ String username = AESCBCUtils.decrypt(us.getUsername());
+ SysUser sysUser = userService.getUser(username);
+ if (sysUser == null) {
+ throw new AuthenticationCredentialsNotFoundException("用户名不存在");
+ } else if (sysUser.getStatus() == SysUser.Status.LOCKED) {
+ throw new LockedException("用户被锁定,请联系管理员");
+ } else if (sysUser.getStatus() == SysUser.Status.DISABLED) {
+ throw new DisabledException("用户已作废");
+ }
+ LoginUser loginUser = new LoginUser();
+ BeanUtils.copyProperties(sysUser, loginUser);
+
+ List permissions = permissionDao.listByUserId(sysUser.getId());
+ loginUser.setPermissions(permissions);
+ try{
+ Token token = tokenService.saveToken(loginUser);
+ token.setCode("200");
+ token.setUsername(username);
+ ResponseUtil.responseJson(response, HttpStatus.OK.value(), token);
+
+ } catch (Exception e) {
+ log.error(e.toString(),e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/LoginForm.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/LoginForm.java
new file mode 100644
index 0000000..1dfe854
--- /dev/null
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/login/vo/LoginForm.java
@@ -0,0 +1,11 @@
+package com.bonus.hnrn.rnbmw.login.vo;
+
+import lombok.Data;
+
+@Data
+public class LoginForm {
+
+ private String username;
+
+ private String type;
+}
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java
index 5d00fad..aaefa78 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/config/BnsSecurityConfig.java
@@ -68,8 +68,8 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter {
http.authorizeRequests()
.antMatchers("/", "/gzRealName/**","/attendance/**","/*.html", "/favicon.ico", "/css/**", "/js/**", "/fonts/**", "/layui/**", "/layui-v2.9.2/**","/layui2.3.6/**", "/layer-v3.1.0/**","/img/**",
- "/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/interface/**",
- "/statics/**","/download/**","/allSystem/login","/realname/allSystem/login","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState")
+ "/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/interface/**","/publicLogin/**",
+ "/statics/**","/download/**","/allSystem/login","/register/**","/companyManager/resetUserPwd","/getCode/**","/OwnContract/updateDownloadState")
.permitAll().
anyRequest().authenticated();
http.formLogin().loginProcessingUrl("/login")
diff --git a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/entity/Token.java b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/entity/Token.java
index e2e904e..739cc65 100644
--- a/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/entity/Token.java
+++ b/HnRealNameBmw/src/main/java/com/bonus/hnrn/rnbmw/manager/entity/Token.java
@@ -18,7 +18,27 @@ public class Token implements Serializable {
/** 登陆时间戳(毫秒) */
private Long loginTime;
- public Token(String token, Long loginTime,String roleId) {
+ private String code;
+
+ private String username;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public Token(String token, Long loginTime, String roleId) {
super();
this.token = token;
this.loginTime = loginTime;
diff --git a/HnRealNameBmw/src/main/resources/bootstrap.yml b/HnRealNameBmw/src/main/resources/bootstrap.yml
index 82a8654..9ccfa38 100644
--- a/HnRealNameBmw/src/main/resources/bootstrap.yml
+++ b/HnRealNameBmw/src/main/resources/bootstrap.yml
@@ -20,7 +20,7 @@ spring:
nacos:
config:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
# 配置文件格式
file-extension: yml
group: DEFAULT_GROUP
@@ -28,7 +28,7 @@ spring:
discovery:
# nacos地址
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
logging:
level:
diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/PublicLoginController.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/PublicLoginController.java
index ae078ec..167bfb1 100644
--- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/PublicLoginController.java
+++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/PublicLoginController.java
@@ -1,6 +1,7 @@
package com.bonus.hnrn.rnmw.core.controller;
import com.bonus.hnrn.rnmw.core.entity.LoginForm;
+import com.bonus.hnrn.rnmw.core.service.PublicLoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
diff --git a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/PublicLoginService.java b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/service/PublicLoginService.java
similarity index 95%
rename from HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/PublicLoginService.java
rename to HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/service/PublicLoginService.java
index af7519d..92d6421 100644
--- a/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/controller/PublicLoginService.java
+++ b/HnRealNameMw/src/main/java/com/bonus/hnrn/rnmw/core/service/PublicLoginService.java
@@ -1,9 +1,8 @@
-package com.bonus.hnrn.rnmw.core.controller;
+package com.bonus.hnrn.rnmw.core.service;
import com.bonus.hnrn.rnmw.core.dao.UserDao;
import com.bonus.hnrn.rnmw.core.entity.LoginForm;
import com.bonus.hnrn.rnmw.core.entity.UserBean;
-import com.bonus.hnrn.rnmw.core.service.TokenService;
import com.bonus.hnrn.rnmw.core.util.AESCBCUtils;
import com.bonus.hnrn.rnmw.core.util.ResponseUtil;
import com.bonus.hnrn.rnmw.core.util.StringHelper;
diff --git a/HnRealNameMw/src/main/resources/bootstrap.yml b/HnRealNameMw/src/main/resources/bootstrap.yml
index e79860e..47417d2 100644
--- a/HnRealNameMw/src/main/resources/bootstrap.yml
+++ b/HnRealNameMw/src/main/resources/bootstrap.yml
@@ -20,7 +20,7 @@ spring:
nacos:
config:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
# 配置文件格式
file-extension: yml
group: DEFAULT_GROUP
@@ -28,7 +28,7 @@ spring:
discovery:
# nacos地址
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
logging:
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java
new file mode 100644
index 0000000..4f0d191
--- /dev/null
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/controller/PublicLoginController.java
@@ -0,0 +1,37 @@
+package com.bonus.hn.bearing.capacity.backstage.login.controller;
+
+import com.bonus.hn.bearing.capacity.backstage.login.service.PublicLoginService;
+import com.bonus.hn.bearing.capacity.backstage.login.vo.LoginForm;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 默认公共登录方法
+ */
+@RestController
+@RequestMapping(value = "/publicLogin")
+public class PublicLoginController {
+
+ @Autowired
+ private PublicLoginService loginService;
+
+ /**
+ * 系统登录
+ * @param token
+ * @param response
+ */
+ @PostMapping("defaultLogin")
+ public void login(@RequestBody LoginForm token, HttpServletResponse response) {
+ loginService.login(token,response);
+ }
+
+
+
+
+
+}
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java
new file mode 100644
index 0000000..a705053
--- /dev/null
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/service/PublicLoginService.java
@@ -0,0 +1,103 @@
+package com.bonus.hn.bearing.capacity.backstage.login.service;
+
+
+import com.bonus.hn.bearing.capacity.backstage.login.vo.LoginForm;
+import com.bonus.hn.bearing.capacity.backstage.manager.dao.PermissionDao;
+import com.bonus.hn.bearing.capacity.backstage.manager.dao.UtilDao;
+import com.bonus.hn.bearing.capacity.backstage.manager.entity.LoginUser;
+import com.bonus.hn.bearing.capacity.backstage.manager.entity.Token;
+import com.bonus.hn.bearing.capacity.backstage.manager.model.Permission;
+import com.bonus.hn.bearing.capacity.backstage.manager.model.SysUser;
+import com.bonus.hn.bearing.capacity.backstage.manager.service.TokenService;
+import com.bonus.hn.bearing.capacity.backstage.manager.service.UserService;
+import com.bonus.hn.bearing.capacity.backstage.manager.utils.ResponseUtil;
+import com.bonus.hn.bearing.capacity.backstage.utils.Aes;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
+import org.springframework.security.authentication.DisabledException;
+import org.springframework.security.authentication.LockedException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+
+/**
+ * 系统登录
+ */
+@Service
+@Slf4j
+public class PublicLoginService {
+
+
+ @Autowired
+ private UserService userService;
+ @Autowired
+ private PermissionDao permissionDao;
+ @Autowired
+ private UtilDao utilDao;
+
+ @Autowired
+ private TokenService tokenService;
+
+ /**
+ * 系统登录
+ * @param us
+ * @param response
+ */
+ public void login(LoginForm us, HttpServletResponse response) {
+ String username= Aes.aesDecrypt(us.getUsername());
+ SysUser sysUser = userService.getUser(username);
+ if (sysUser == null) {
+ throw new AuthenticationCredentialsNotFoundException("用户名不存在");
+ } else if (sysUser.getStatus() == SysUser.Status.LOCKED) {
+ throw new LockedException("用户被锁定,请联系管理员");
+ } else if (sysUser.getStatus() == SysUser.Status.DISABLED) {
+ throw new DisabledException("用户已作废");
+ }
+ LoginUser loginUser = new LoginUser();
+ BeanUtils.copyProperties(sysUser, loginUser);
+ List permissions = permissionDao.listByUserId(sysUser.getId());
+ loginUser.setPermissions(permissions);
+ try {
+ // 获取当前IP地址
+ InetAddress ipAddress = InetAddress.getLocalHost();
+ String ip = ipAddress.getHostAddress();
+ // 获取系统名称
+ String systemName = System.getProperty("os.name");
+
+ // 获取所在位置(主机名)
+ String hostName = ipAddress.getHostName();
+
+ LocalDate currentYearMonth = LocalDate.now();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ String formattedYearMonth = currentYearMonth.format(formatter);
+
+ // 创建SysUser对象并设置值
+ SysUser b = new SysUser();
+ b.setIpAddress(ip);
+ b.setSystemName(systemName);
+ b.setHostName(hostName);
+ b.setMonth(formattedYearMonth);
+ b.setUserId(sysUser.getId().toString());
+ utilDao.insertLoginInfo(b);
+
+ //创建token
+ Token token = tokenService.saveToken(loginUser);
+ token.setCode("200");
+ token.setUserName(username);
+ ResponseUtil.responseJson(response, HttpStatus.OK.value(), token);
+ } catch (UnknownHostException e) {
+ log.error(e.toString(),e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/vo/LoginForm.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/vo/LoginForm.java
new file mode 100644
index 0000000..5970df2
--- /dev/null
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/login/vo/LoginForm.java
@@ -0,0 +1,11 @@
+package com.bonus.hn.bearing.capacity.backstage.login.vo;
+
+import lombok.Data;
+
+@Data
+public class LoginForm {
+
+ private String username;
+
+ private String type;
+}
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/BnsSecurityConfig.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/BnsSecurityConfig.java
index 9a2090c..e306e37 100644
--- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/BnsSecurityConfig.java
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/config/BnsSecurityConfig.java
@@ -63,7 +63,7 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter {
http.authorizeRequests()
.antMatchers("/", "/*.html", "/favicon.ico", "/css/**", "/js/**", "/fonts/**", "/layui/**", "/img/**","/layui-v2.8.18/**","/downloadTemplateController/**",
"/newPro/**","/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/getCode/**",
- "/statics/**")
+ "/statics/**","/publicLogin/**")
.permitAll().anyRequest().authenticated();
http.formLogin().loginProcessingUrl("/login")
.successHandler(authenticationSuccessHandler).failureHandler(authenticationFailureHandler).and()
diff --git a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/entity/Token.java b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/entity/Token.java
index 7125bed..0bc3ba6 100644
--- a/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/entity/Token.java
+++ b/hn-czl-service/src/main/java/com/bonus/hn/bearing/capacity/backstage/manager/entity/Token.java
@@ -14,6 +14,27 @@ public class Token implements Serializable {
private static final long serialVersionUID = 6314027741784310221L;
private String token;
+
+ private String code;
+
+ private String userName;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
/** 登陆时间戳(毫秒) */
private Long loginTime;
diff --git a/hn-czl-service/src/main/resources/bootstrap.yml b/hn-czl-service/src/main/resources/bootstrap.yml
index a10597b..5f3475d 100644
--- a/hn-czl-service/src/main/resources/bootstrap.yml
+++ b/hn-czl-service/src/main/resources/bootstrap.yml
@@ -24,10 +24,10 @@ spring:
discovery:
# nacos地址
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
config:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
# 配置文件格式
file-extension: yml
group: DEFAULT_GROUP
diff --git a/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java
index 4598e1d..ed75abb 100644
--- a/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java
+++ b/hn-gateway/bonus-gateway/src/main/java/com/bonus/gateway/filter/AuthFilter.java
@@ -56,7 +56,7 @@ public class AuthFilter implements GlobalFilter, Ordered {
}
}
String token = getToken(request);
- if (StringUtils.isEmpty(token)) {
+ if (StringUtils.isEmpty(token) || "null".equals(token)) {
return unauthorizedResponse(exchange, "令牌不能为空");
}
Claims claims = JwtUtils.parseToken(token);
diff --git a/hn-gateway/bonus-gateway/src/main/resources/bootstrap-dev.yml b/hn-gateway/bonus-gateway/src/main/resources/bootstrap-dev.yml
index de41b26..86f8ace 100644
--- a/hn-gateway/bonus-gateway/src/main/resources/bootstrap-dev.yml
+++ b/hn-gateway/bonus-gateway/src/main/resources/bootstrap-dev.yml
@@ -7,11 +7,11 @@ spring:
discovery:
# 服务注册地址
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
config:
# 配置中心地址
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
# 配置文件格式
file-extension: yml
# 共享配置
diff --git a/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-druid.yml b/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-druid.yml
index 5330f76..65a6864 100644
--- a/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-druid.yml
+++ b/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-druid.yml
@@ -9,10 +9,10 @@ spring:
nacos:
discovery:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
config:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
# 配置文件格式
file-extension: yml
group: DEFAULT_GROUP
diff --git a/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-prod.yml b/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-prod.yml
index c91c845..e754df0 100644
--- a/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-prod.yml
+++ b/hn-ldlz/ldlz-admin/src/main/resources/bootstrap-prod.yml
@@ -9,10 +9,10 @@ spring:
nacos:
discovery:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
config:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
# 配置文件格式
file-extension: yml
group: DEFAULT_GROUP
diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/controller/PublicLoginController.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/controller/PublicLoginController.java
new file mode 100644
index 0000000..8fe5f2f
--- /dev/null
+++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/controller/PublicLoginController.java
@@ -0,0 +1,38 @@
+package com.bonus.hn.bearing.capacity.screen.login.controller;
+
+
+import com.bonus.hn.bearing.capacity.screen.login.service.PublicLoginService;
+import com.bonus.hn.bearing.capacity.screen.login.vo.LoginForm;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 默认公共登录方法
+ */
+@RestController
+@RequestMapping(value = "/publicLogin")
+public class PublicLoginController {
+
+ @Autowired
+ private PublicLoginService loginService;
+
+ /**
+ * 系统登录
+ * @param token
+ * @param response
+ */
+ @PostMapping("defaultLogin")
+ public void login(@RequestBody LoginForm token, HttpServletResponse response) {
+ loginService.login(token,response);
+ }
+
+
+
+
+
+}
diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/service/PublicLoginService.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/service/PublicLoginService.java
new file mode 100644
index 0000000..101d5e6
--- /dev/null
+++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/service/PublicLoginService.java
@@ -0,0 +1,74 @@
+package com.bonus.hn.bearing.capacity.screen.login.service;
+
+
+
+import com.bonus.hn.bearing.capacity.screen.login.vo.LoginForm;
+import com.bonus.hn.bearing.capacity.screen.manager.dao.PermissionDao;
+import com.bonus.hn.bearing.capacity.screen.manager.entity.LoginUser;
+import com.bonus.hn.bearing.capacity.screen.manager.entity.Token;
+import com.bonus.hn.bearing.capacity.screen.manager.model.Permission;
+import com.bonus.hn.bearing.capacity.screen.manager.model.SysUser;
+import com.bonus.hn.bearing.capacity.screen.manager.service.TokenService;
+import com.bonus.hn.bearing.capacity.screen.manager.service.UserService;
+import com.bonus.hn.bearing.capacity.screen.manager.utils.Aes;
+import com.bonus.hn.bearing.capacity.screen.manager.utils.ResponseUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
+import org.springframework.security.authentication.DisabledException;
+import org.springframework.security.authentication.LockedException;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * 系统登录
+ */
+@Service
+@Slf4j
+public class PublicLoginService {
+
+ @Autowired
+ private UserService userService;
+ @Autowired
+ private PermissionDao permissionDao;
+
+ @Autowired
+ private TokenService tokenService;
+ /**
+ * 系统登录
+ * @param us
+ * @param response
+ */
+ public void login(LoginForm us, HttpServletResponse response) {
+
+ String username= Aes.aesDecrypt(us.getUsername());
+ SysUser sysUser = userService.getUser(username);
+ if (sysUser == null) {
+ throw new AuthenticationCredentialsNotFoundException("用户名不存在");
+ } else if (sysUser.getStatus() == SysUser.Status.LOCKED) {
+ throw new LockedException("用户被锁定,请联系管理员");
+ } else if (sysUser.getStatus() == SysUser.Status.DISABLED) {
+ throw new DisabledException("用户已作废");
+ }
+ try {
+ LoginUser loginUser = new LoginUser();
+ BeanUtils.copyProperties(sysUser, loginUser);
+ List permissions = permissionDao.listByUserId(sysUser.getId());
+ loginUser.setPermissions(permissions);
+ Token token = tokenService.saveToken(loginUser);
+ token.setCode("200");
+ token.setUserame(username);
+ ResponseUtil.responseJson(response, HttpStatus.OK.value(), token);
+ } catch (Exception e) {
+ log.error(e.toString(),e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/vo/LoginForm.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/vo/LoginForm.java
new file mode 100644
index 0000000..a40d439
--- /dev/null
+++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/login/vo/LoginForm.java
@@ -0,0 +1,11 @@
+package com.bonus.hn.bearing.capacity.screen.login.vo;
+
+import lombok.Data;
+
+@Data
+public class LoginForm {
+
+ private String username;
+
+ private String type;
+}
diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/BnsSecurityConfig.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/BnsSecurityConfig.java
index 39be27b..07e36c5 100644
--- a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/BnsSecurityConfig.java
+++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/BnsSecurityConfig.java
@@ -59,7 +59,7 @@ public class BnsSecurityConfig extends WebSecurityConfigurerAdapter {
http.authorizeRequests()
.antMatchers("/", "/*.html", "/favicon.ico", "/css/**", "/js/**", "/fonts/**", "/layui/**", "/img/**",
"/v2/api-docs/**", "/swagger-resources/**", "/webjars/**", "/pages/**", "/druid/**","/getCode/**",
- "/statics/**","/dataInterface/**","/static/pages/img/home/**")
+ "/statics/**","/dataInterface/**","/static/pages/img/home/**","/publicLogin/**")
.permitAll().anyRequest().authenticated();
http.formLogin().loginProcessingUrl("/login")
.successHandler(authenticationSuccessHandler)
diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/SecurityHandlerConfig.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/SecurityHandlerConfig.java
index 3440801..5b9c045 100644
--- a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/SecurityHandlerConfig.java
+++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/config/SecurityHandlerConfig.java
@@ -73,8 +73,8 @@ public class SecurityHandlerConfig {
} else {
msg = exception.getMessage();
}
- ResponseInfo info = new ResponseInfo(HttpStatus.UNAUTHORIZED.value() + "", msg);
- ResponseUtil.responseJson(response, HttpStatus.UNAUTHORIZED.value(), info);
+ ResponseInfo info = new ResponseInfo(HttpStatus.INTERNAL_SERVER_ERROR.value() + "", msg);
+ ResponseUtil.responseJson(response, HttpStatus.INTERNAL_SERVER_ERROR.value(), info);
}
};
diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/entity/Token.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/entity/Token.java
index d17a504..e87b086 100644
--- a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/entity/Token.java
+++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/entity/Token.java
@@ -17,6 +17,26 @@ public class Token implements Serializable {
/** 登陆时间戳(毫秒) */
private Long loginTime;
+ private String code;
+
+ private String userame;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getUserame() {
+ return userame;
+ }
+
+ public void setUserame(String userame) {
+ this.userame = userame;
+ }
+
public Token(String token, Long loginTime) {
super();
this.token = token;
diff --git a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/filter/VerifyFilter.java b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/filter/VerifyFilter.java
index 21fec26..fbbb19f 100644
--- a/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/filter/VerifyFilter.java
+++ b/hn_czl_screen/src/main/java/com/bonus/hn/bearing/capacity/screen/manager/filter/VerifyFilter.java
@@ -41,6 +41,7 @@ public class VerifyFilter extends OncePerRequestFilter {
String vCode = request.getParameter("verifyCode");// 图片验证码的 value
String s = validateVerify(request, uuid, vCode);
if(!"".equals(s)) {
+ response.setStatus(HttpServletResponse.SC_PAYMENT_REQUIRED); // 401 状态码
authenticationFailureHandler.onAuthenticationFailure(request, response,new VerifyCodeException(s));
} else {
filterChain.doFilter(request,response);
diff --git a/hn_czl_screen/src/main/resources/bootstrap.yml b/hn_czl_screen/src/main/resources/bootstrap.yml
index f5d9012..35f0825 100644
--- a/hn_czl_screen/src/main/resources/bootstrap.yml
+++ b/hn_czl_screen/src/main/resources/bootstrap.yml
@@ -24,10 +24,10 @@ spring:
discovery:
# nacos地址
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
config:
server-addr: 192.168.0.14:18848
- namespace: e0337b55-080d-456e-8449-46d68dceee5b
+ namespace: 7c801fed-8b1c-4e57-8099-fe4e5e2b6b64
# 配置文件格式
file-extension: yml
group: DEFAULT_GROUP