diff --git a/power-admin/src/main/java/com/manage/controller/FontController.java b/power-admin/src/main/java/com/manage/controller/FontController.java index 9f2df97..d143ee3 100644 --- a/power-admin/src/main/java/com/manage/controller/FontController.java +++ b/power-admin/src/main/java/com/manage/controller/FontController.java @@ -885,4 +885,27 @@ public class FontController { } return null; } + + + /** + * @description: 判断弱密码跳转到修改密码页面 + * @author linjj + * @date: 2023/7/10 16:43 + */ + @RequestMapping(value = "updatePassword") + public String updatePassword(Model model , HttpServletRequest request){ + return"/userDir/updatePassword1"; + } + + /** + * @description: 打印系统登录结构 + * @params: powerUser + * @author linjj + * @date: 2023/7/26 10:15 + */ + @RequestMapping(value = "PrintLogin", method = RequestMethod.POST) + @ResponseBody + public Msg login(Power_User powerUser, HttpServletResponse response, HttpServletRequest request, Model model) { + return Msg.failUser2(); + } } diff --git a/power-admin/src/main/java/com/manage/controller/LoginController.java b/power-admin/src/main/java/com/manage/controller/LoginController.java index 2de8b9a..7f62ff5 100644 --- a/power-admin/src/main/java/com/manage/controller/LoginController.java +++ b/power-admin/src/main/java/com/manage/controller/LoginController.java @@ -4,12 +4,14 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.manage.bean.LoginVoRedis; import com.manage.dao.Power_Login_SetMapper; +import com.manage.encrypt.Base64; import com.manage.entity.*; import com.manage.service.*; import com.manage.service.cache.Cache; import com.manage.service.cache.CacheManager; import com.manage.util.*; import com.manage.vo.*; +import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.DateUtil; import org.springframework.beans.BeanUtils; @@ -22,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import redis.clients.jedis.Jedis; +import sun.security.provider.MD5; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -36,6 +39,10 @@ public class LoginController { private long TOKEN_EXPIRE_TIME; @Value("${sysFlag}") private Integer sysFlag; + @Value("${SERVER_IP}") + private String SERVER_IP; + @Value("${SERVER_PORT}") + private String SERVER_PORT; @Autowired private Power_UserService powerUserService; @Autowired @@ -74,6 +81,7 @@ public class LoginController { @ResponseBody public Msg login(Power_User powerUser, HttpServletResponse response, HttpServletRequest request, Model model) { String userName = powerUser.getUserName(); + String userPwd = powerUser.getUserPwd(); if (!userName.equals("admin")) { String s = "00" + userName; powerUser.setUserName(s); @@ -141,7 +149,17 @@ public class LoginController { CacheManager.putCache(token, new Cache(user, System.currentTimeMillis(), TOKEN_EXPIRE_TIME * 1000)); ActionScopeUtils.setSessionAttribute("token", token, Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))); ActionScopeUtils.setSessionAttribute("CURRENT_USER", user, Integer.valueOf(String.valueOf(TOKEN_EXPIRE_TIME))); - Power_User user1 = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + //检测弱密码强制跳转修改密码 + //大小写,中文,数据,特殊符号必须存在三种 + String reg = "^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\\W]+$)(?![\\d\\W]+$)\\S{8,20}$"; + //判断是否为弱密码 + boolean msg=userPwd.matches(reg); + redis.del(userName); + JedisPoolUtil.close(redis); + if (msg==false){ + String url = "http://" + SERVER_IP + ":" + SERVER_PORT +"/power"+ "/font/updatePassword"; + return Msg.success().add("url", url); + } //单点登录跳转 String url = ""; if (sysFlag == 2) { @@ -151,7 +169,6 @@ public class LoginController { int POWER_PORT = request.getLocalPort(); url = "http://" + ip + ":" + POWER_PORT + "/power/gatewayPage"; } - redis.del(userName); return Msg.success().add("url", url); } else { //登录失败 @@ -172,6 +189,7 @@ public class LoginController { logService.insert(log); request.setAttribute("msg", "用户名或密码不正确"); redis.incr(userName); + JedisPoolUtil.close(redis); return Msg.failUser(); } } catch (Exception e) { @@ -181,6 +199,7 @@ public class LoginController { } else { //失败次数大于五时锁十五分钟 redis.setex(userName, 900, i + ""); + JedisPoolUtil.close(redis); return Msg.failUser2(); } return null; diff --git a/power-admin/src/main/resources/redis.properties b/power-admin/src/main/resources/redis.properties index dde40d5..2526fe1 100644 --- a/power-admin/src/main/resources/redis.properties +++ b/power-admin/src/main/resources/redis.properties @@ -9,7 +9,7 @@ redis.port = 6379 redis.maxIdle = 200 ##\u7B49\u5F85\u53EF\u7528\u8FDE\u63A5\u7684\u6700\u5927\u65F6\u95F4\u5355\u4F4D\u4E3A\u6BEB\u79D2 \u9ED8\u8BA4\u4E3A-1\u8868\u793A\u6C38\u4E0D\u8D85\u65F6\uFF0C\u4E00\u65E6\u8D85\u8FC7\u7B49\u5F85\u65F6\u95F4\u5219\u76F4\u63A5\u629B\u51FA redis.maxWait = 100000 -redis.timeOut = 10000 +redis.timeOut = 0 ##\u8BBE\u7F6E\u4E3Atrue\u5219\u4F1A\u5728borrow\u4E00\u4E2Ajedis\u5B9E\u4F8B\u65F6\uFF0C\u63D0\u524D\u505Avalidate\u64CD\u4F5C redis.testOnBorrow =true ##\u6700\u5927\u8FDE\u63A5\u6570 diff --git a/power-admin/src/main/webapp/WEB-INF/jspf/webSocket.jspf b/power-admin/src/main/webapp/WEB-INF/jspf/webSocket.jspf index 122fc1f..93b80b3 100644 --- a/power-admin/src/main/webapp/WEB-INF/jspf/webSocket.jspf +++ b/power-admin/src/main/webapp/WEB-INF/jspf/webSocket.jspf @@ -71,7 +71,6 @@ } function narn (type,title,text,noticeId) { - debugger naranja()[type]({ title: title, text: text, diff --git a/power-admin/src/main/webapp/WEB-INF/views/userDir/updatePassword1.jsp b/power-admin/src/main/webapp/WEB-INF/views/userDir/updatePassword1.jsp new file mode 100644 index 0000000..4c4065c --- /dev/null +++ b/power-admin/src/main/webapp/WEB-INF/views/userDir/updatePassword1.jsp @@ -0,0 +1,59 @@ +<%-- + Created by IntelliJ IDEA. + User: ljx + Date: 2019/5/13 + Time: 17:02 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + +
+