From b8eadc786813b0d21bff778b9f1bc67199cd2cca Mon Sep 17 00:00:00 2001 From: linjj <850658129@qq.com> Date: Wed, 21 Jun 2023 10:21:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E9=99=86=E6=97=B6=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 3 + power-admin/pom.xml | 16 ++ .../com/manage/controller/FontController.java | 39 ++- .../manage/controller/LoginController.java | 52 +++- .../com/manage/controller/UserController.java | 10 +- .../java/com/manage/util/JedisPoolUtil.java | 69 ++++++ .../src/main/resources/redis.properties | 16 ++ .../main/webapp/WEB-INF/jspf/webSocket.jspf | 2 +- .../main/webapp/WEB-INF/views/loginDir/3.jsp | 86 +++++++ .../main/webapp/WEB-INF/views/loginDir/d.jsp | 196 +++++++++++++++ .../webapp/WEB-INF/views/loginDir/login.jsp | 216 +++++++++++++---- .../src/main/webapp/static/css/login.css | 2 +- .../main/webapp/static/img/login/login_bg.png | Bin 0 -> 676776 bytes .../src/main/webapp/static/js/login.js | 229 +++++++++++++++--- .../src/main/webapp/static/js/login2.js | 189 +++++++++++++++ .../main/webapp/static/js/updatePassword.js | 3 + power-admin/src/main/webapp/static/js/user.js | 2 +- .../src/main/webapp/static/js/user1.js | 2 +- .../java/com/manage/dao/Power_UserMapper.java | 3 + .../resources/mapper/Power_UserMapper.xml | 3 + .../src/main/java/com/manage/util/Msg.java | 29 ++- 21 files changed, 1064 insertions(+), 103 deletions(-) create mode 100644 power-admin/src/main/java/com/manage/util/JedisPoolUtil.java create mode 100644 power-admin/src/main/resources/redis.properties create mode 100644 power-admin/src/main/webapp/WEB-INF/views/loginDir/3.jsp create mode 100644 power-admin/src/main/webapp/WEB-INF/views/loginDir/d.jsp create mode 100644 power-admin/src/main/webapp/static/img/login/login_bg.png create mode 100644 power-admin/src/main/webapp/static/js/login2.js diff --git a/pom.xml b/pom.xml index 3dc5642..aff8860 100644 --- a/pom.xml +++ b/pom.xml @@ -78,6 +78,8 @@ + + com.github.oshi @@ -85,6 +87,7 @@ 3.4.4 + + + redis.clients + jedis + 3.1.0 + jar + compile + + com.manage power-api @@ -186,6 +196,12 @@ power-dao 1.0-SNAPSHOT + + org.jetbrains + annotations + 13.0 + compile + power 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 704dc41..a291bf1 100644 --- a/power-admin/src/main/java/com/manage/controller/FontController.java +++ b/power-admin/src/main/java/com/manage/controller/FontController.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.manage.dao.Power_DeptMapper; import com.manage.dao.Power_NoticeMapper; import com.manage.dao.Power_UserMapper; +import com.manage.encrypt.Base64; +import com.manage.encrypt.MD5; import com.manage.entity.Power_Dept; import com.manage.entity.Power_Menu; import com.manage.entity.Power_Notice; @@ -22,10 +24,10 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import java.util.*; /** @@ -68,6 +70,35 @@ public class FontController { @Autowired private Power_DeptMapper powerDeptMapper; + @RequestMapping(value = "updatePassword") + public String updatePassword(Model model , HttpServletRequest request){ + return"/userDir/updatePassword1"; + } + + + @RequestMapping(value = "updatePass") + @ResponseBody + public String updatePass(String passFlag){ + if (passFlag.equals("")){ + return ""; + } + List powerUserVos = power_userMapper.getuserNameList(); + StringBuffer sb=new StringBuffer(); + for (Power_UserVo list:powerUserVos){ + String userPwd = list.getUserPwd(); + String decode = Base64.decode(userPwd); + String jm = MD5.JM(decode); + String userName = list.getUserName(); + boolean contains = jm.contains(userName); + if (contains){ + System.out.println("userName:"+userName); + sb.append("'"+userName+"'"+","); + } + } + String s = sb.toString(); + return s ; + } + /** * 2.1 * @@ -780,4 +811,6 @@ public class FontController { } } + + } 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 87a1c45..a1ac55f 100644 --- a/power-admin/src/main/java/com/manage/controller/LoginController.java +++ b/power-admin/src/main/java/com/manage/controller/LoginController.java @@ -13,6 +13,7 @@ import com.manage.util.*; import com.manage.vo.*; import org.apache.commons.lang3.StringUtils; import org.java_websocket.WebSocket; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -21,6 +22,7 @@ import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import redis.clients.jedis.Jedis; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -31,6 +33,10 @@ import java.util.*; public class LoginController { @Value("${TOKEN_EXPIRE_TIME}") private long TOKEN_EXPIRE_TIME; + @Value("${SERVER_IP}") + private String SERVER_IP; + @Value("${SERVER_PORT}") + private String SERVER_PORT; @Value("${EMRRECORD_URLHEAD}") private String EMRRECOD_URLHEAD; @Autowired @@ -57,8 +63,22 @@ public class LoginController { } @RequestMapping(value = "login",method = RequestMethod.POST) - public String login(Power_User powerUser,HttpServletResponse response, HttpServletRequest request,Model model) throws Exception { + @ResponseBody + public Msg login(Power_User powerUser,HttpServletResponse response, HttpServletRequest request,Model model) throws Exception { + Jedis redis = JedisPoolUtil.getJedisPoolInstance().getResource(); String userPwd = powerUser.getUserPwd(); + String userName = powerUser.getUserName(); + String userInfo = redis.get(userName); + //用来记录错误的次数 + String errorPwsCount = "0"; + //没有这个id的话新建一个 + if (userInfo == null) { + redis.set(userName, errorPwsCount); + } + //获取已经记录错误次数 + int i = Integer.parseInt(redis.get(userName)); + //小于5可以继续登录,大于5 + if (i < 5) { try { Power_UserVo user = powerUserService.findPowerUserByUserNameAndUserPwd(powerUser); //添加进操作日志 @@ -77,9 +97,6 @@ public class LoginController { //设置token缓存 String date = String.valueOf(DateUtils.getDate()); String token = UUID.randomUUID().toString(); - - - //查询归属医院 /* long start5 = System.currentTimeMillis(); Power_User_Dict powerUserDict = powerUserDictMapper.selectDictIdByUserId(user.getUserId()); @@ -117,7 +134,6 @@ public class LoginController { } user.setMenuList(menuList); user.setMenus(menus); - //设置科室 StringBuilder power_depts = new StringBuilder(); List power_depts1 = power_deptService.selectByPrimaryKeys(user.getDeptId()); @@ -133,8 +149,6 @@ public class LoginController { if (user.getDeptIdQuality()!=null){ List power_depts2 = power_deptService.selectByPrimaryKeys(user.getDeptIdQuality()); for(int a=0;a +<%@ page import="com.manage.encrypt.Base64" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ include file="/WEB-INF/jspf/common.jspf" %> +<% + String path = request.getContextPath(); + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; + String password=""; + String userName=""; + String checked=""; + Cookie[] cookies = request.getCookies(); //取出cookie对象组 + for(int i = 0; cookies != null && i < cookies.length;i++){ + Cookie cookie = cookies[i]; // 取出其中的一个对象,含有name ,value + if(cookie != null && "name".equals(cookie.getName())){ //获取第一个cookie对象的name + userName = URLDecoder.decode(cookie.getValue(), "UTF-8");//进行解码 + checked = "checked"; + } + if(cookie != null && "password".equals(cookie.getName())){ + password = cookie.getValue(); + password = Base64.decodeBase64(password); + } + } +%> + + + 嘉时软件-广东医科大学附属医院 + + + + + + + + + + + + + + diff --git a/power-admin/src/main/webapp/WEB-INF/views/loginDir/d.jsp b/power-admin/src/main/webapp/WEB-INF/views/loginDir/d.jsp new file mode 100644 index 0000000..36248e3 --- /dev/null +++ b/power-admin/src/main/webapp/WEB-INF/views/loginDir/d.jsp @@ -0,0 +1,196 @@ +<%@ page import="java.net.URLDecoder" %> +<%@ page import="com.manage.encrypt.Base64" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ include file="/WEB-INF/jspf/common.jspf" %> +<% + String path = request.getContextPath(); + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; + String password=""; + String userName=""; + String checked=""; + Cookie[] cookies = request.getCookies(); //取出cookie对象组 + for(int i = 0; cookies != null && i < cookies.length;i++){ + Cookie cookie = cookies[i]; // 取出其中的一个对象,含有name ,value + if(cookie != null && "name".equals(cookie.getName())){ //获取第一个cookie对象的name + userName = URLDecoder.decode(cookie.getValue(), "UTF-8");//进行解码 + checked = "checked"; + } + if(cookie != null && "password".equals(cookie.getName())){ + password = cookie.getValue(); + password = Base64.decodeBase64(password); + } + } +%> + + + + + + 嘉时软件 + + + + + + + + + + + + diff --git a/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp b/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp index defcae8..c42d102 100644 --- a/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp +++ b/power-admin/src/main/webapp/WEB-INF/views/loginDir/login.jsp @@ -1,6 +1,6 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.net.URLDecoder" %> <%@ page import="com.manage.encrypt.Base64" %> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ include file="/WEB-INF/jspf/common.jspf" %> <% String path = request.getContextPath(); @@ -21,66 +21,180 @@ } } %> - + - 嘉时软件-广东医科大学附属医院 - - - + + + + 嘉时软件 - - -