From a31f90558f1ea180217a070661eb7a5bf4180657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 22 Jul 2022 13:32:59 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=8C=BA=E5=9F=9Fcode=E4=B8=8Ename=E5=85=B3?= =?UTF-8?q?=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-xwy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index a9c3470..ab06671 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -59,7 +59,7 @@ rootPath: /root/daohang/data myPath: ${rootPath}myPath writePath: ${rootPath}/product eip: http://192.168.1.209:8080/ -startCode: 000000 +startCode: 1 #verifyUrl: ${sso.authcenter}/rest/auth/verify?token= #passportUrl: ${sso.authcenter}/?ReturnUrl= #defaultLoginRequiredEnable: false -- Gitee From de30dd47ff175625d97267c7cfe72eb3008cba92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Mon, 8 Aug 2022 15:01:57 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=9F=90=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E6=8F=90=E4=BE=9B?= =?UTF-8?q?slogin=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dh/common/response/ResponseData.java | 4 + .../dh/controller/rest/AuthController.java | 139 ++++++++++++++---- .../dh/controller/views/IndexController.java | 13 +- .../dh/mybatis/BaseAdminUserMapper.java | 4 +- .../cetc32/dh/service/AdminUserService.java | 5 +- .../dh/service/impl/AdminUserServiceImpl.java | 16 +- src/main/resources/application-xwy.yml | 1 + src/main/resources/application-xwybjb.yml | 5 +- .../resources/mapper/BaseAdminUserMapper.xml | 2 +- 9 files changed, 151 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/cetc32/dh/common/response/ResponseData.java b/src/main/java/com/cetc32/dh/common/response/ResponseData.java index f7bbd91..89bd70c 100644 --- a/src/main/java/com/cetc32/dh/common/response/ResponseData.java +++ b/src/main/java/com/cetc32/dh/common/response/ResponseData.java @@ -53,6 +53,10 @@ public class ResponseData extends ResponseMessage{ this.data = obj; } + public static ResponseData error (int code ,String msg){ + return new ResponseData(code+"",msg,null); + + } public static ResponseData error(){ return new ResponseData("-1","error",null); } diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index efd37ba..64a1c1c 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -61,7 +61,8 @@ import static com.cetc32.dh.common.utils.Tools.*; @RequestMapping("/rest/auth/") @LoginRequired(loginSuccess = true) public class AuthController { - + @Value("${thirdRole}") + Integer thirdRole; @Value("${sso.basePermission}") String basePermission; @Value("${sso.tokeAge}") @@ -104,9 +105,30 @@ public class AuthController { public ResponseData weblogin2(@RequestBody LoginParameter loginParameter, HttpServletRequest request, HttpServletResponse response){ String username=loginParameter.getUsername(); String password=loginParameter.getPassword(); - BaseAdminUser user= userService.findByUserName(username); + BaseAdminUser bAU = new BaseAdminUser(); + bAU.setSysUserName(username); + bAU.setUserStatus(1); + BaseAdminUser user= userService.findByUser(bAU); ResponseData x = verifyUserLoginEnable(username,password,user); - if(x != null) return x; + if(x.getCode() < 0){ + int code=x.getCode(); + bAU.setUserStatus(1001); + user= userService.findByUser(bAU); + x = verifyUserLoginEnable(username,password,user); + if(x.getCode()<0){ + if(x.getCode()>code) + code =x.getCode(); + bAU.setUserStatus(-1); + user= userService.findByUser(bAU); + x = verifyUserLoginEnable(username,password,user); + if(x.getCode()<0){ + code =x.getCode(); + } + } + if(x.getCode()<0){ + return ResponseData.error(code == -2?"账户信息异常!!":"账户信息有误或未审核!"); + } + } user.setLoginFailed(0); user.setWebLoginDate(new Date()); user.setWebLoginStatus(1); @@ -114,7 +136,36 @@ public class AuthController { user.setWebLoginCount(webCount); return createTokenAndSaveCookies(request, response, username, user); } - + @ApiOperation(value = "用户登录验证,并返回用户相应角色", notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(name = "username", value = "用户名", paramType = "String"), + @ApiImplicitParam(name = "password", value = "密码", paramType = "String") + }) + @PostMapping("/slogin") + @LoginSkipped + public ResponseData thirdLogin(@RequestBody LoginParameter loginParameter, String permissions,HttpServletRequest request, HttpServletResponse response){ + String username=loginParameter.getUsername(); + String password=loginParameter.getPassword(); + BaseAdminUser bAU = new BaseAdminUser(); + bAU.setSysUserName(username); + bAU.setUserStatus(1001); + BaseAdminUser user= userService.findByUser(bAU); + if(null == user){//第三方用户初次登录直接录入数据库 + bAU.setRoleId(thirdRole); + bAU.setRealName(bAU.getSysUserName()); + bAU.setRegTime(new Date()); + bAU.setSysUserPwd(DigestUtils.Md5(username,password)); + userService.insertUser(bAU); + } + ResponseData x = verifyUserLoginEnable(username,password,user); + if(x.getCode() < 0 ) return x; + user.setLoginFailed(0); + user.setWebLoginDate(new Date()); + user.setWebLoginStatus(1); + int webCount=user.getWebLoginCount()+1; + user.setWebLoginCount(webCount); + return createTokenAndSaveCookies(request, response, username+"#1001", user); + } /** * web用户登陆 * @Description 用户登陆接口,登陆过程中需要更新用户的登陆时间,loginFailed次数等 @@ -134,9 +185,30 @@ public class AuthController { public ResponseData applogin2(@RequestBody LoginParameter loginParameter, HttpServletRequest request, HttpServletResponse response){ String username=loginParameter.getUsername(); String password=loginParameter.getPassword(); - BaseAdminUser user= userService.findByUserName(username); - ResponseData x = verifyUserLoginEnable(username, password, user); - if (x != null) return x; + BaseAdminUser bAU = new BaseAdminUser(); + bAU.setSysUserName(username); + bAU.setUserStatus(1); + BaseAdminUser user= userService.findByUser(bAU); + ResponseData x = verifyUserLoginEnable(username,password,user); + if(x.getCode() < 0){ + int code=x.getCode(); + bAU.setUserStatus(1001); + user= userService.findByUser(bAU); + x = verifyUserLoginEnable(username,password,user); + if(x.getCode()<0){ + if(x.getCode()>code) + code =x.getCode(); + bAU.setUserStatus(-1); + user= userService.findByUser(bAU); + x = verifyUserLoginEnable(username,password,user); + if(x.getCode()<0){ + code =x.getCode(); + } + } + if(x.getCode()<0){ + return ResponseData.error(code == -2?"账户信息异常!!":"账户信息有误或未审核!"); + } + } user.setLoginFailed(0); user.setAppLoginDate(new Date()); user.setAppLoginStatus(1); @@ -172,16 +244,21 @@ public class AuthController { @Nullable private ResponseData verifyUserLoginEnable(String username, String password, BaseAdminUser user) { if(user == null) - return ResponseData.error("账户信息异常!!"); + return ResponseData.error(-2,"账户信息异常!!"); if(user.getUserStatus() == -1){ - return ResponseData.error("未激活用户请先联系管理员审核账号。"); + return ResponseData.error("账户信息有误或未审核!"); }else if( user.getUserStatus()<1){ return ResponseData.error("账号已经注销。"); + }else if(user.getUserStatus()>1000){ + if(!user.getSysUserPwd().equals(DigestUtils.Md5(username,password))){ + userService.updatePwd(username,password,1001); + } + return ResponseData.success(); } int failed=user.getLoginFailed(); - if(failed>3){ + /*if(failed>3){ return ResponseData.error("失败次数超过三次!"); - } + }*/ if(StringUtils.isBlank(username) || StringUtils.isBlank(password)) { // loginFailed每次登陆都要更新,且登陆失败或成功都要进行更新,且登陆失败 @@ -204,7 +281,7 @@ public class AuthController { // if(user.getWebLoginStatus()==1){ // return ResponseData.error("用户网页登录已在线,不能重复登录!"); // } - return null; + return ResponseData.success(); } /** @@ -215,8 +292,8 @@ public class AuthController { @GetMapping("/user/exist") public ResponseData findUserByName(String username){ System.out.println("username"+username); - BaseAdminUser user =userService.findByUserName(username); - if(user == null){ + List users =userService.findByUserName(username); + if(users == null || users.size()==0){ return ResponseData.success( true); }else{ return ResponseData.success( false); @@ -459,13 +536,17 @@ public class AuthController { @LoginSkipped @PostMapping("/resetpwd") public ResponseData resetPwd(@RequestBody FormUser formUser){ - BaseAdminUser us = userService.findByUserName(formUser.getUsername()); - if(us !=null){ - if(us.getSysUserPwd().equals(DigestUtils.Md5(formUser.getUsername(),formUser.getPassword()))){ - userService.updatePwd(formUser.getUsername(),formUser.getPasswordN()); - return ResponseData.success(); + List us = userService.findByUserName(formUser.getUsername()); + if(us !=null && us.size()>0){ + for(BaseAdminUser u:us){ + if(u.getUserStatus()>1000) + continue; + if(u.getSysUserPwd().equals(DigestUtils.Md5(formUser.getUsername(),formUser.getPassword()))){ + userService.updatePwd(formUser.getUsername(),formUser.getPasswordN(),1); + return ResponseData.success(); + } } - //return ResponseData.error(); + return ResponseData.error("非本系统维护帐号,无法修改,请到帐号所属系统维护。"); } return ResponseData.error("用户账户信息有误。"); } @@ -636,9 +717,16 @@ public class AuthController { if(token!=null ) { String username=JWTUtil.getUsername(token); - if(username!=null && JWTUtil.verify(token)) + if(StringUtils.isNotBlank(username) && JWTUtil.verify(token)) { - BaseAdminUser user= userService.findByUserName(username); + BaseAdminUser user =null; + if(username.indexOf("#1001")>=0){ + user.setUserStatus(1001); + }else{ + user.setUserStatus(1); + } + user.setSysUserName(username); + user = userService.findByUser(user); if(user!=null) { long currentTimeMillis = System.currentTimeMillis()/1000; @@ -655,9 +743,9 @@ public class AuthController { if(StringUtils.isBlank(role)){ continue; } - ResultUserRole r = adminRoleService.findRoleById(Integer.valueOf(role)); - if(r!=null) - resultUserRole.add(r); + ResultUserRole r = adminRoleService.findRoleById(Integer.valueOf(role)); + if(r!=null) + resultUserRole.add(r); } }catch (Exception e){ e.printStackTrace(); @@ -712,6 +800,7 @@ public class AuthController { return ResponseData.error("token 已过期!"); } } + } return ResponseData.error("token 认证失败!"); } diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index 716532e..4e6f7c8 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -64,14 +64,21 @@ public class IndexController { if(StringUtils.isNotBlank(token)){ String username = JWTUtil.getUsername(token); if(null != username){ - BaseAdminUser bAu = adminUserService.findByUserName(username); - if(bAu != null){ + BaseAdminUser user=new BaseAdminUser(); + if(username.indexOf("#1001")>=0){ + user.setUserStatus(1001); + }else{ + user.setUserStatus(1); + } + user.setSysUserPwd(username.replace("#1001","")); + BaseAdminUser bAu =adminUserService.findByUser(user); + if(bAu != null){ BaseAdminUser bu = new BaseAdminUser(); bu.setId(bAu.getId()); bu.setAppLoginStatus(0); bu.setWebLoginStatus(0); adminUserService.updateLogin(bu); - } + } } } rep.addCookie(new Cookie("token",null)); diff --git a/src/main/java/com/cetc32/dh/mybatis/BaseAdminUserMapper.java b/src/main/java/com/cetc32/dh/mybatis/BaseAdminUserMapper.java index c312097..c088a60 100644 --- a/src/main/java/com/cetc32/dh/mybatis/BaseAdminUserMapper.java +++ b/src/main/java/com/cetc32/dh/mybatis/BaseAdminUserMapper.java @@ -40,10 +40,10 @@ public interface BaseAdminUserMapper extends MyMapper { int updateUser(BaseAdminUser user); - int updatePwd(@Param("userName") String userName, @Param("password") String password); + int updatePwd(@Param("userName") String userName, @Param("password") String password,@Param("status") Integer status); - BaseAdminUser findByUserName(@Param("userName") String userName); + List findByUserName(@Param("userName") String userName); BaseAdminUser findByUserNameAll(@Param("userName") String userName); List findUserByCondition(BaseAdminUser user); diff --git a/src/main/java/com/cetc32/dh/service/AdminUserService.java b/src/main/java/com/cetc32/dh/service/AdminUserService.java index acd07b6..d97fb3b 100644 --- a/src/main/java/com/cetc32/dh/service/AdminUserService.java +++ b/src/main/java/com/cetc32/dh/service/AdminUserService.java @@ -39,11 +39,11 @@ public interface AdminUserService { BaseAdminUser getUserById(Integer id); - BaseAdminUser findByUserName(String userName); + List findByUserName(String userName); BaseAdminUser findByUserNameAll(String userName); - int updatePwd(String userName, String password); + int updatePwd(String userName, String password,Integer status); int updateUserStatus(Integer id, Integer status); @@ -64,4 +64,5 @@ public interface AdminUserService { List getZQPoints(List idList); List selectUserByDepartmentId(Listids); + BaseAdminUser findByUser(BaseAdminUser user); } diff --git a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java index e2a91c0..638449d 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java @@ -68,6 +68,14 @@ public class AdminUserServiceImpl implements AdminUserService { return baseAdminUserMapper.insertUser(user); } + public BaseAdminUser findByUser(BaseAdminUser user){ + if (user == null) + return null; + List users = baseAdminUserMapper.select(user); + if(null ==users || users.size()==0) + return null; + return users.get(0); + } @Override public List findUserByCondition(BaseAdminUser user) @@ -258,7 +266,9 @@ public class AdminUserServiceImpl implements AdminUserService { * @return BaseAdminUser */ @Override - public BaseAdminUser findByUserName(String userName) { + public List findByUserName(String userName) { + if(StringUtils.isBlank(userName)) + return null; return baseAdminUserMapper.findByUserName(userName); } /** @@ -278,9 +288,9 @@ public class AdminUserServiceImpl implements AdminUserService { * @return int */ @Override - public int updatePwd(String userName, String password) { + public int updatePwd(String userName, String password,Integer status) { password = DigestUtils.Md5(userName,password); - return baseAdminUserMapper.updatePwd(userName,password); + return baseAdminUserMapper.updatePwd(userName,password,status); } public List getAllUserList(){ diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index ab06671..f4a2f35 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -78,3 +78,4 @@ sso: #单位是毫秒 tokeAge: 3600000 departmentRoot: 1 +thirdRole: 1 diff --git a/src/main/resources/application-xwybjb.yml b/src/main/resources/application-xwybjb.yml index 95bcdb8..9879ac4 100644 --- a/src/main/resources/application-xwybjb.yml +++ b/src/main/resources/application-xwybjb.yml @@ -8,8 +8,8 @@ spring: name: dhManager datasource: #url: jdbc:postgresql://180.184.65.203:5432/dhmanage - #url: jdbc:postgresql://192.168.1.60:5432/dhmanage - url: jdbc:postgresql://127.0.0.1:5432/dhmanage + url: jdbc:postgresql://192.168.1.60:5432/dhmanage + #url: jdbc:postgresql://127.0.0.1:5432/dhmanage username: postgres #password: 123456 #password: Zdk@824. @@ -81,3 +81,4 @@ sso: #单位是毫秒 tokeAge : 3600000 departmentRoot: 1 +thirdRole: 1 diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index 24f6b9a..eea6749 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -99,7 +99,7 @@ UPDATE base_admin_user set sys_user_pwd = #{password} - where sys_user_name = #{userName} + where sys_user_name = #{userName} and user_status =#{status} -- Gitee From 7f10d81adec6a81fe281a8fa1a429bd33efc4db2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Wed, 10 Aug 2022 09:12:47 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=9F=90=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E6=8F=90=E4=BE=9B?= =?UTF-8?q?slogin=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cetc32/dh/controller/rest/AuthController.java | 2 +- src/main/java/com/cetc32/dh/entity/BaseAdminUser.java | 4 ++-- .../java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 64a1c1c..858c94c 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -719,7 +719,7 @@ public class AuthController { String username=JWTUtil.getUsername(token); if(StringUtils.isNotBlank(username) && JWTUtil.verify(token)) { - BaseAdminUser user =null; + BaseAdminUser user = new BaseAdminUser(); if(username.indexOf("#1001")>=0){ user.setUserStatus(1001); }else{ diff --git a/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java b/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java index ad709f4..752ea58 100644 --- a/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java +++ b/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java @@ -180,7 +180,7 @@ public class BaseAdminUser extends NumberS { } } - + @Transient public String sortField; public String getSortOrder() { @@ -198,7 +198,7 @@ public class BaseAdminUser extends NumberS { } } } - + @Transient public String sortOrder; diff --git a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java index 638449d..eecb01b 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java @@ -71,6 +71,7 @@ public class AdminUserServiceImpl implements AdminUserService { public BaseAdminUser findByUser(BaseAdminUser user){ if (user == null) return null; + //List users= baseAdminUserMapper.selectByExample(user); List users = baseAdminUserMapper.select(user); if(null ==users || users.size()==0) return null; -- Gitee From 5cc3c14700408256cfa4a185c885c89fd877c11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Mon, 15 Aug 2022 15:55:36 +0800 Subject: [PATCH 04/22] xinzengjiekou --- .../com/cetc32/dh/controller/rest/AuthController.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 858c94c..0cc6998 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -836,4 +836,14 @@ public class AuthController { } return ResponseData.success(users); } + SysInfoService sysInfoService; + @Autowired + public void setSysInfoService(SysInfoService sysInfoService) { + this.sysInfoService = sysInfoService; + } + @LoginSkipped + @GetMapping("/systems") + public ResponseData systems(){ + return ResponseData.success(sysInfoService.selectAll()); + } } -- Gitee From 0500d6b685c8b4a64a00f4bdee2afe452a8bd2b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 19 Aug 2022 14:13:18 +0800 Subject: [PATCH 05/22] xiufubug --- .../java/com/cetc32/dh/beans/LoginResult.java | 10 ++++++---- .../dh/controller/rest/AuthController.java | 11 ++++++----- .../dh/controller/views/IndexController.java | 6 +++++- .../dh/service/impl/AdminUserServiceImpl.java | 5 ++++- src/main/resources/application-xwy.yml | 3 ++- .../resources/mapper/BaseAdminUserMapper.xml | 2 +- src/main/resources/templates/index.html | 19 +++++++++++++------ 7 files changed, 37 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/cetc32/dh/beans/LoginResult.java b/src/main/java/com/cetc32/dh/beans/LoginResult.java index 96e1300..4016faf 100644 --- a/src/main/java/com/cetc32/dh/beans/LoginResult.java +++ b/src/main/java/com/cetc32/dh/beans/LoginResult.java @@ -1,5 +1,7 @@ package com.cetc32.dh.beans; +import org.apache.commons.lang3.StringUtils; + import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -11,7 +13,7 @@ public class LoginResult { private String username; private Integer userid; private List role; - private int security; + private Integer security; private List areacode; private long expriation; private String userBD; @@ -75,11 +77,11 @@ public class LoginResult { this.role = role; } - public int getSecurity() { + public Integer getSecurity() { return security; } - public void setSecurity(int security) { + public void setSecurity(Integer security) { this.security = security; } @@ -153,7 +155,7 @@ public class LoginResult { } private List str2intList(String str) { - if(str==null) + if(StringUtils.isBlank(str)) { return new ArrayList<>(); } diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 0cc6998..e600567 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -71,7 +71,8 @@ public class AuthController { String sysCode; @Value("${departmentRoot}") Integer departmentRoot; - + @Value("${keyCangQiong:password}") + String keyCangQiong; @Autowired AdminUserService userService; @@ -143,7 +144,7 @@ public class AuthController { }) @PostMapping("/slogin") @LoginSkipped - public ResponseData thirdLogin(@RequestBody LoginParameter loginParameter, String permissions,HttpServletRequest request, HttpServletResponse response){ + public ResponseData thirdLogin(@RequestBody LoginParameter loginParameter ,HttpServletRequest request, HttpServletResponse response){ String username=loginParameter.getUsername(); String password=loginParameter.getPassword(); BaseAdminUser bAU = new BaseAdminUser(); @@ -154,10 +155,10 @@ public class AuthController { bAU.setRoleId(thirdRole); bAU.setRealName(bAU.getSysUserName()); bAU.setRegTime(new Date()); - bAU.setSysUserPwd(DigestUtils.Md5(username,password)); + bAU.setSysUserPwd(DigestUtils.Md5(username,keyCangQiong)); userService.insertUser(bAU); } - ResponseData x = verifyUserLoginEnable(username,password,user); + ResponseData x = verifyUserLoginEnable(username,keyCangQiong,user); if(x.getCode() < 0 ) return x; user.setLoginFailed(0); user.setWebLoginDate(new Date()); @@ -225,7 +226,7 @@ public class AuthController { String jwtToken = JWTUtil.createToken(username, currentTimeMillis,tokenAge); List zqPoints = null;//userService.getZQPoints(user.getAreaCodeList()); LoginResult data = new LoginResult(jwtToken, - user.getDepartment().toString(), + user.getDepartment()==null?null:user.getDepartment().toString(), username, user.getId(), user.getRoleId(), diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index 4e6f7c8..6ad10a1 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -32,10 +32,12 @@ public class IndexController { AdminUserService adminUserService; @Value("${eip}") String eip = "http://www.baidu.com/"; + @Value("${title}") + String title; private Logger logger = LoggerFactory.getLogger(this.getClass()); @RequestMapping({"/index","/"}) - public String index(String ReturnUrl, ModelMap map, HttpServletRequest req, @Nullable Integer cate ){ + public String index(String ReturnUrl, ModelMap map, HttpServletRequest req, @Nullable Integer cate ,HttpServletResponse rep){ if(ReturnUrl==null) ReturnUrl=eip; if(null == cate){ @@ -47,6 +49,8 @@ public class IndexController { ReturnUrl +="?token="+token; return "redirect:"+ReturnUrl; } + CookieUtil.deleteCookie(req,rep,"token"); + map.put("title", title); map.put("ReturnUrl", ReturnUrl); map.put("originUrl", req.getRequestURL()); map.put("eip",eip); diff --git a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java index eecb01b..8861bf5 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java @@ -270,7 +270,10 @@ public class AdminUserServiceImpl implements AdminUserService { public List findByUserName(String userName) { if(StringUtils.isBlank(userName)) return null; - return baseAdminUserMapper.findByUserName(userName); + List list =baseAdminUserMapper.findByUserName(userName); + if(null ==list || list.size()<=0) + return null; + return list; } /** * 根据用户名字查找用户(不论是否删除) diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index f4a2f35..1b2ab1c 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -8,7 +8,7 @@ spring: name: dhManager datasource: #url: jdbc:postgresql://180.184.65.203:5432/dhmanage - url: jdbc:postgresql://192.168.1.60:5432/dhmanage + url: jdbc:postgresql://192.168.1.8:5432/huludaosso username: postgres password: 123456 #password: Zdk@824. @@ -79,3 +79,4 @@ sso: tokeAge: 3600000 departmentRoot: 1 thirdRole: 1 +title: 公共信息门户系统 diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index eea6749..bc43b87 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -156,7 +156,7 @@ and areacode LIKE '%' || #{areacode} || '%' - and department LIKE CONCAT('%' , #{department} , '%') + and department = #{department} and security = #{security} diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index b6a9433..0dcfa99 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -10,18 +10,18 @@ window.onload = function () { var count=0; let timer=setInterval(()=>{ - console.log("postMessage") - window.parent.postMessage('login','*'); + ///console.log("postMessage") + window.parent.postMessage('message','*'); //window.top.document.location.reload(); count++ - if(count>=10){ + if(count>=40){ clearInterval(timer) console.log("count:"+count) } - console.log("postMessage end") + //console.log("postMessage end") //window.parent.document.location.reload(); - },1000) + },100) let timer2=setInterval(()=>{ if($("#cate").val()==0){ @@ -51,7 +51,8 @@
-

导航图生产与服务系统(一期)

+ +

@@ -124,6 +125,7 @@ submitLogin(); } } + $("#title").html($("#title1").val()) }); function setCookie(name,value,time) { @@ -134,6 +136,10 @@ function submitLogin() { var username = $("#username").val(); var password = $("#password").val(); + if(!username && !password){ + alert("请输入登录信息"); + return; + } $.ajax({ url: "/rest/auth/login", type: "POST", @@ -141,6 +147,7 @@ contentType: "application/json;charset=UTF-8", data: JSON.stringify({username:username,password:password}), success: function (data) { + setCookie("token","",-1); if(data.code == "200"){ var j=0 ,len=0; setCookie("token",data.data.token,2*60*60*1000); -- Gitee From 7bfbb3aa6326fb30ab5fc25e1e420a1cba5e1c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 19 Aug 2022 14:58:18 +0800 Subject: [PATCH 06/22] xiufubug --- .../com/cetc32/dh/controller/rest/AuthController.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index e600567..e8d73f6 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -157,6 +157,12 @@ public class AuthController { bAU.setRegTime(new Date()); bAU.setSysUserPwd(DigestUtils.Md5(username,keyCangQiong)); userService.insertUser(bAU); + user=new BaseAdminUser(); + user.setRealName(username); + user.setSysUserPwd(keyCangQiong); + user.setUserStatus(1001); + user.setWebLoginCount(0); + //user= userService.findByUser(bAU); } ResponseData x = verifyUserLoginEnable(username,keyCangQiong,user); if(x.getCode() < 0 ) return x; @@ -222,12 +228,12 @@ public class AuthController { private ResponseData createTokenAndSaveCookies(HttpServletRequest request, HttpServletResponse response, String username, BaseAdminUser user) { userService.updateLogin(user); long currentTimeMillis = System.currentTimeMillis(); - System.out.println("tokenAge:"+tokenAge); + //System.out.println("tokenAge:"+tokenAge); String jwtToken = JWTUtil.createToken(username, currentTimeMillis,tokenAge); List zqPoints = null;//userService.getZQPoints(user.getAreaCodeList()); LoginResult data = new LoginResult(jwtToken, user.getDepartment()==null?null:user.getDepartment().toString(), - username, + username.replace("#1001",""), user.getId(), user.getRoleId(), user.getSecurity(), -- Gitee From 857503308f9de9959ac70f006dbec2c31c365574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Tue, 23 Aug 2022 16:35:12 +0800 Subject: [PATCH 07/22] xinzeng xiangdaomoshi --- .../com/cetc32/dh/beans/ResultUserInfo.java | 9 + .../dh/controller/rest/AuthController.java | 6 +- .../dh/controller/views/IndexController.java | 29 ++- .../com/cetc32/dh/entity/BaseAdminUser.java | 2 +- src/main/resources/application-xwy.yml | 4 +- .../resources/mapper/BaseAdminUserMapper.xml | 2 +- src/main/resources/templates/changepwd.html | 1 + src/main/resources/templates/register.html | 6 +- src/main/resources/templates/wizard.html | 188 ++++++++++++++++++ 9 files changed, 238 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/templates/wizard.html diff --git a/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java b/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java index 0275e1f..adf6f78 100644 --- a/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java +++ b/src/main/java/com/cetc32/dh/beans/ResultUserInfo.java @@ -244,6 +244,15 @@ public class ResultUserInfo extends NumberS { this.permissions.addAll(permissions); } } + public void addPermissions (String permissions){ + if(permissions ==null){ + return; + } + if(this.permissions==null ) + this.permissions=new ArrayList<>(); + if(!this.permissions.contains(permissions)) + this.permissions.add(permissions); + } public void setPermissions(String[] permissions){ if(permissions ==null) { diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index e8d73f6..d82d250 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -732,7 +732,7 @@ public class AuthController { }else{ user.setUserStatus(1); } - user.setSysUserName(username); + user.setSysUserName(username.replace("#1001","")); user = userService.findByUser(user); if(user!=null) { @@ -762,13 +762,13 @@ public class AuthController { ResultUserInfo data=new ResultUserInfo(); BeanUtils.copyProperties(user, data); data.setRole(user.getRoleId()); - data.setUsername(username); + data.setUsername(user.getSysUserName()); data.setId(user.getId()); data.setSecurity(user.getSecurity()); data.setAreacode(user.getAreacode()); data.setDepartment(user.getDepartment()); data.setPwd(user.getSysUserPwd()); - System.out.println(user.getPermissions()); + //System.out.println(user.getPermissions()); if(resultUserRole!=null ){ //确保user 的permission中有权限时候忽略角色权限 if(StringUtils.isBlank(user.getPermissions())){ diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index 6ad10a1..6471b52 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -1,10 +1,14 @@ package com.cetc32.dh.controller.views; +import com.alibaba.fastjson.JSONObject; import com.cetc32.dh.entity.BaseAdminUser; import com.cetc32.dh.service.AdminUserService; +import com.cetc32.webutil.common.annotations.LoginRequired; import com.cetc32.webutil.common.annotations.LoginSkipped; import com.cetc32.webutil.common.util.CookieUtil; import com.cetc32.webutil.common.util.JWTUtil; +import com.cetc32.webutil.common.util.SecurityUserUtil; +import com.fasterxml.jackson.databind.ser.Serializers; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -89,6 +93,7 @@ public class IndexController { //CookieUtil.setCookie(req,rep,"token",null,0,false); map.put("ReturnUrl", ReturnUrl); map.put("originUrl", req.getRequestURL()); + map.put("title", title); //System.out.println(ReturnUrl); ReturnUrl = getSimpleUrl(ReturnUrl); String url =null; @@ -116,6 +121,7 @@ public class IndexController { if(ReturnUrl==null) ReturnUrl=eip; map.put("ReturnUrl", ReturnUrl); + map.put("title", title); map.put("originUrl", req.getRequestURL()); return "register"; } @@ -123,10 +129,31 @@ public class IndexController { public String changepwd(String ReturnUrl, ModelMap map, HttpServletRequest req){ if(ReturnUrl==null) ReturnUrl=eip; - System.out.println(ReturnUrl); + //System.out.println(ReturnUrl); map.put("ReturnUrl", ReturnUrl); + map.put("title", title); map.put("originUrl", req.getRequestURL()); return "changepwd"; } + @LoginRequired + @GetMapping({"/wizard"}) + public String wizard(String token, ModelMap map, HttpServletRequest req,HttpServletResponse response){ + BaseAdminUser user =new BaseAdminUser(); + user.setId(SecurityUserUtil.getUser().getId()); + BaseAdminUser bau = adminUserService.findByUser(user); + /* if(bau.getUserStatus()!=1001){ + return "redirect:"+eip; + }*/ + map.put("eip", eip); + map.put("title", title); + map.put("id",bau.getId()); + map.put("username",bau.getSysUserName()); + map.put("realName",bau.getRealName()); + if(bau.getRoleIdList()!=null && bau.getRoleIdList().size()>0) + map.put("role",bau.getRoleIdList().get(0)); + map.put("userStatus",1002); + map.put("originUrl", req.getRequestURL()); + return "wizard"; + } } diff --git a/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java b/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java index 752ea58..cdc568b 100644 --- a/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java +++ b/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java @@ -75,7 +75,7 @@ public class BaseAdminUser extends NumberS { * 状态(0:无效;1:有效) */ @Column(name = "user_status") - private Integer userStatus = null; + private Integer userStatus = -10000; /** * 区域代码 diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index 1b2ab1c..d271ad5 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -68,7 +68,7 @@ sso: verifyUrl: ${sso.authcenter}/rest/auth/verify?token= passportUrl: ${sso.authcenter}/?ReturnUrl= defaultLoginRequiredEnable: false - permission: S000^接口用户@/rest/auth/**;*权限管理@/**; + permission: S000^接口用户@/rest/auth/**,/wizard;*权限管理@/**; sysurl : http://192.168.1.206:${server.port} sysname : 用户中心 registerUrl : ${sso.authcenter}/rest/api/sys/sync @@ -78,5 +78,5 @@ sso: #单位是毫秒 tokeAge: 3600000 departmentRoot: 1 -thirdRole: 1 +thirdRole: 2 title: 公共信息门户系统 diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index bc43b87..92cee89 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -46,7 +46,7 @@ security = #{security}, - + user_status = #{userStatus}, diff --git a/src/main/resources/templates/changepwd.html b/src/main/resources/templates/changepwd.html index 30494e8..2735447 100644 --- a/src/main/resources/templates/changepwd.html +++ b/src/main/resources/templates/changepwd.html @@ -52,6 +52,7 @@ + + + + + + + +
+ +
+
+
+
+

身份授权

+
+ +
+ + + +
+ + + + +
+ +
+ + + + +
+ + + + + + + +
+ +
+ + + + + + + + +
+
+ +
+
+ +
+ + +
+
+ + + + -- Gitee From fdfb3699728ca44753bff3022fc56d6ad0084201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Wed, 24 Aug 2022 16:30:09 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dwizard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dh/controller/rest/AuthController.java | 46 ++++++++++++------- .../dh/controller/views/IndexController.java | 42 ++++++++--------- .../com/cetc32/dh/entity/BaseAdminUser.java | 2 +- .../resources/mapper/BaseAdminUserMapper.xml | 4 +- src/main/resources/templates/wizard.html | 5 +- 5 files changed, 56 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index d82d250..fb3bace 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -30,6 +30,8 @@ import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -73,6 +75,7 @@ public class AuthController { Integer departmentRoot; @Value("${keyCangQiong:password}") String keyCangQiong; + Logger logger = LoggerFactory.getLogger(AuthController.class); @Autowired AdminUserService userService; @@ -115,6 +118,10 @@ public class AuthController { int code=x.getCode(); bAU.setUserStatus(1001); user= userService.findByUser(bAU); + if(null==user){ + bAU.setUserStatus(1002); + user = userService.findByUser(bAU); + } x = verifyUserLoginEnable(username,password,user); if(x.getCode()<0){ if(x.getCode()>code) @@ -135,7 +142,7 @@ public class AuthController { user.setWebLoginStatus(1); int webCount=user.getWebLoginCount()+1; user.setWebLoginCount(webCount); - return createTokenAndSaveCookies(request, response, username, user); + return createTokenAndSaveCookies(request, response, user); } @ApiOperation(value = "用户登录验证,并返回用户相应角色", notes = "") @ApiImplicitParams({ @@ -151,6 +158,10 @@ public class AuthController { bAU.setSysUserName(username); bAU.setUserStatus(1001); BaseAdminUser user= userService.findByUser(bAU); + if(null == user){ + bAU.setUserStatus(1002); + user = userService.findByUser(bAU); + } if(null == user){//第三方用户初次登录直接录入数据库 bAU.setRoleId(thirdRole); bAU.setRealName(bAU.getSysUserName()); @@ -171,7 +182,7 @@ public class AuthController { user.setWebLoginStatus(1); int webCount=user.getWebLoginCount()+1; user.setWebLoginCount(webCount); - return createTokenAndSaveCookies(request, response, username+"#1001", user); + return createTokenAndSaveCookies(request, response, user); } /** * web用户登陆 @@ -201,6 +212,10 @@ public class AuthController { int code=x.getCode(); bAU.setUserStatus(1001); user= userService.findByUser(bAU); + if(null==user){ + bAU.setUserStatus(1002); + user = userService.findByUser(bAU); + } x = verifyUserLoginEnable(username,password,user); if(x.getCode()<0){ if(x.getCode()>code) @@ -221,19 +236,19 @@ public class AuthController { user.setAppLoginStatus(1); int appCount=user.getAppLoginCount()+1; user.setAppLoginCount(appCount); - return createTokenAndSaveCookies(request, response, username, user); + return createTokenAndSaveCookies(request, response, user); } @NotNull - private ResponseData createTokenAndSaveCookies(HttpServletRequest request, HttpServletResponse response, String username, BaseAdminUser user) { + private ResponseData createTokenAndSaveCookies(HttpServletRequest request, HttpServletResponse response, BaseAdminUser user) { userService.updateLogin(user); long currentTimeMillis = System.currentTimeMillis(); //System.out.println("tokenAge:"+tokenAge); - String jwtToken = JWTUtil.createToken(username, currentTimeMillis,tokenAge); - List zqPoints = null;//userService.getZQPoints(user.getAreaCodeList()); + String jwtToken = JWTUtil.createToken(user.getId()+"", currentTimeMillis,tokenAge); + //List zqPoints = null;//userService.getZQPoints(user.getAreaCodeList()); LoginResult data = new LoginResult(jwtToken, user.getDepartment()==null?null:user.getDepartment().toString(), - username.replace("#1001",""), + user.getSysUserName(), user.getId(), user.getRoleId(), user.getSecurity(), @@ -243,7 +258,7 @@ public class AuthController { user.getUserBD(), user.getUserPhone(), user.getRealName(), - zqPoints); + null); CookieUtil.setCookie(request, response, "token", jwtToken, tokenAge.intValue()/1000, true); return ResponseData.success(200, "success", data); } @@ -258,7 +273,7 @@ public class AuthController { return ResponseData.error("账号已经注销。"); }else if(user.getUserStatus()>1000){ if(!user.getSysUserPwd().equals(DigestUtils.Md5(username,password))){ - userService.updatePwd(username,password,1001); + userService.updatePwd(username,password,user.getUserStatus()); } return ResponseData.success(); } @@ -721,18 +736,14 @@ public class AuthController { @PostMapping("/token") @LoginSkipped public ResponseData token(String token){ + logger.debug("token in verify: "+token); if(token!=null ) { - String username=JWTUtil.getUsername(token); - if(StringUtils.isNotBlank(username) && JWTUtil.verify(token)) + String userId=JWTUtil.getUsername(token); + if(StringUtils.isNotBlank(userId) && JWTUtil.verify(token)) { BaseAdminUser user = new BaseAdminUser(); - if(username.indexOf("#1001")>=0){ - user.setUserStatus(1001); - }else{ - user.setUserStatus(1); - } - user.setSysUserName(username.replace("#1001","")); + user.setId(Integer.valueOf(userId)); user = userService.findByUser(user); if(user!=null) { @@ -811,6 +822,7 @@ public class AuthController { } return ResponseData.error("token 认证失败!"); } + logger.debug("token = " +token); return ResponseData.error("缺少参数token!"); } diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index 6471b52..bff3469 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -70,23 +70,13 @@ public class IndexController { ReturnUrl=eip; String token =CookieUtil.getCookieValue(req,"token",true); if(StringUtils.isNotBlank(token)){ - String username = JWTUtil.getUsername(token); - if(null != username){ - BaseAdminUser user=new BaseAdminUser(); - if(username.indexOf("#1001")>=0){ - user.setUserStatus(1001); - }else{ - user.setUserStatus(1); - } - user.setSysUserPwd(username.replace("#1001","")); - BaseAdminUser bAu =adminUserService.findByUser(user); - if(bAu != null){ - BaseAdminUser bu = new BaseAdminUser(); - bu.setId(bAu.getId()); - bu.setAppLoginStatus(0); - bu.setWebLoginStatus(0); - adminUserService.updateLogin(bu); - } + String userId = JWTUtil.getUsername(token); + if(null != userId){ + BaseAdminUser user=new BaseAdminUser(); + user.setId(Integer.valueOf(userId)); + user.setAppLoginStatus(0); + user.setWebLoginStatus(0); + adminUserService.updateLogin(user); } } rep.addCookie(new Cookie("token",null)); @@ -135,16 +125,24 @@ public class IndexController { map.put("originUrl", req.getRequestURL()); return "changepwd"; } - @LoginRequired @GetMapping({"/wizard"}) public String wizard(String token, ModelMap map, HttpServletRequest req,HttpServletResponse response){ + if(!JWTUtil.verify(token) || JWTUtil.getExpire(token)< (System.currentTimeMillis()/1000)){ + logger.debug("Token Verify Failed: "+ token); + if(StringUtils.isBlank(token)) + return "redirect:"+eip+"?token="+token; + else + return "redirect:"+eip; + } BaseAdminUser user =new BaseAdminUser(); - user.setId(SecurityUserUtil.getUser().getId()); + user.setId(Integer.valueOf(JWTUtil.getUsername(token))); BaseAdminUser bau = adminUserService.findByUser(user); - /* if(bau.getUserStatus()!=1001){ - return "redirect:"+eip; - }*/ + if(bau.getUserStatus()!=1001){ + logger.debug("status 1001 wizard token:"+token); + return "redirect:"+eip+"?token="+token; + } map.put("eip", eip); + map.put("token",token); map.put("title", title); map.put("id",bau.getId()); map.put("username",bau.getSysUserName()); diff --git a/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java b/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java index cdc568b..ce57949 100644 --- a/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java +++ b/src/main/java/com/cetc32/dh/entity/BaseAdminUser.java @@ -75,7 +75,7 @@ public class BaseAdminUser extends NumberS { * 状态(0:无效;1:有效) */ @Column(name = "user_status") - private Integer userStatus = -10000; + private Integer userStatus ; /** * 区域代码 diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index 92cee89..2ddae18 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -46,7 +46,7 @@ security = #{security}, - + user_status = #{userStatus}, @@ -399,7 +399,7 @@ security = #{security}, - + user_status = #{userStatus}, diff --git a/src/main/resources/templates/wizard.html b/src/main/resources/templates/wizard.html index 19bb433..7fa00e7 100644 --- a/src/main/resources/templates/wizard.html +++ b/src/main/resources/templates/wizard.html @@ -98,6 +98,7 @@ + @@ -157,7 +158,9 @@ data:JSON.stringify(serializeToObject($("#formUser").serializeArray() ) ) , contentType: "application/json;charset=UTF-8", success: function (data) { - console.log(data.code) + if(data.code =='200'){ + window.location.href = $("#eip").val()+"?token="+$("#token").val(); + } }, error: function () { -- Gitee From 825eaf84be1f11be37abbab0fe3fde06bcc371ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Thu, 25 Aug 2022 11:38:06 +0800 Subject: [PATCH 09/22] add log --- .../cetc32/dh/controller/rest/AuthController.java | 8 ++++---- .../dh/controller/rest/AuthRoleController.java | 4 ++-- .../com/cetc32/dh/mybatis/BaseAdminRoleMapper.java | 4 ++-- .../java/com/cetc32/dh/service/AdminRoleService.java | 4 ++-- .../cetc32/dh/service/impl/AdminRoleServiceImpl.java | 6 +++--- src/main/resources/application-xwy.yml | 2 +- src/main/resources/mapper/BaseAdminRoleMapper.xml | 12 ++++++++++-- 7 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index fb3bace..d86cf68 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -243,7 +243,7 @@ public class AuthController { private ResponseData createTokenAndSaveCookies(HttpServletRequest request, HttpServletResponse response, BaseAdminUser user) { userService.updateLogin(user); long currentTimeMillis = System.currentTimeMillis(); - //System.out.println("tokenAge:"+tokenAge); + logger.debug("tokenAge:"+tokenAge); String jwtToken = JWTUtil.createToken(user.getId()+"", currentTimeMillis,tokenAge); //List zqPoints = null;//userService.getZQPoints(user.getAreaCodeList()); LoginResult data = new LoginResult(jwtToken, @@ -313,7 +313,7 @@ public class AuthController { @LoginSkipped @GetMapping("/user/exist") public ResponseData findUserByName(String username){ - System.out.println("username"+username); + logger.debug("exists username :"+username); List users =userService.findByUserName(username); if(users == null || users.size()==0){ return ResponseData.success( true); @@ -342,7 +342,7 @@ public class AuthController { return ResponseData.error("密码不能为空!"); } BaseAdminUser user =new BaseAdminUser(); - System.out.println(JSONObject.toJSONString(userInfo).toString()); + logger.debug("register userInfo :"+JSONObject.toJSONString(userInfo).toString()); // 使用属性复制相同字段减少代码量 BeanUtils.copyProperties(userInfo, user); user.setSysUserPwd(DigestUtils.Md5(userInfo.getUsername(),userInfo.getPassword())); @@ -529,7 +529,7 @@ public class AuthController { for(ResultUserInfoDe u:users){ ListroleIds =u.getRole(); //确保权限优先级为当前记录 - //System.out.println("getPermission: "+u.getPermissions()); + logger.debug("users getPermission: "+u.getPermissions()); if(u.getPermissions() != null && 0 < u.getPermissions().size()) continue; if(null!=u.getRole()) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java index ef4e120..0eba79f 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthRoleController.java @@ -44,8 +44,8 @@ public class AuthRoleController { @ApiImplicitParam(name="results",value = "每页数据条数",dataType = "Integer",defaultValue = "10"), }) @PostMapping(value = "/getAll") - public PageDataResult getRoles(@RequestBody NumberS number){ - return new PageDataResult(adminRoleService.countRoles(), adminRoleService.getAllRoles(number),number.getOffset()); + public PageDataResult getRoles(@RequestBody BaseAdminRole number){ + return new PageDataResult(adminRoleService.countRoles(number), adminRoleService.getAllRoles(number),number.getOffset()); } @ApiOperation(value = "获取角色列表(不分页)", notes = "") diff --git a/src/main/java/com/cetc32/dh/mybatis/BaseAdminRoleMapper.java b/src/main/java/com/cetc32/dh/mybatis/BaseAdminRoleMapper.java index 191d265..2013bb9 100644 --- a/src/main/java/com/cetc32/dh/mybatis/BaseAdminRoleMapper.java +++ b/src/main/java/com/cetc32/dh/mybatis/BaseAdminRoleMapper.java @@ -25,13 +25,13 @@ import java.util.List; @Repository public interface BaseAdminRoleMapper extends MyMapper { - List getAllRoles(NumberS number); + List getAllRoles(BaseAdminRole number); List getRoleList(); List geALLRoleList(); ResultUserRole findRoleByID(Integer id); int addRole(BaseAdminRole baseAdminRole); ResultUserRole findRoleByName(String roleName); - int countRoles(); + int countRoles(BaseAdminRole baseAdminRole); int updateRole(BaseAdminRole baseAdminRole); int delRoleByID(Integer id); ListcountByRole(); diff --git a/src/main/java/com/cetc32/dh/service/AdminRoleService.java b/src/main/java/com/cetc32/dh/service/AdminRoleService.java index 355f4a4..452182c 100644 --- a/src/main/java/com/cetc32/dh/service/AdminRoleService.java +++ b/src/main/java/com/cetc32/dh/service/AdminRoleService.java @@ -22,13 +22,13 @@ import java.util.List; */ public interface AdminRoleService { - List getAllRoles(NumberS number); + List getAllRoles(BaseAdminRole number); List getRoleList(); ResultUserRole findRoleByName(String roleName); - int countRoles(); + int countRoles(BaseAdminRole baseAdminRole); ResultUserRole findRoleById(Integer id); diff --git a/src/main/java/com/cetc32/dh/service/impl/AdminRoleServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AdminRoleServiceImpl.java index 07ad342..0d1c205 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AdminRoleServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AdminRoleServiceImpl.java @@ -102,7 +102,7 @@ public class AdminRoleServiceImpl implements AdminRoleService { * @return List */ @Override - public List getAllRoles(NumberS number) { + public List getAllRoles(BaseAdminRole number) { return baseAdminRoleMapper.getAllRoles(number); } @@ -127,8 +127,8 @@ public class AdminRoleServiceImpl implements AdminRoleService { } @Override - public int countRoles() + public int countRoles(BaseAdminRole baseAdminRole) { - return baseAdminRoleMapper.countRoles(); + return baseAdminRoleMapper.countRoles(baseAdminRole); } } diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index d271ad5..94bec9f 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -50,7 +50,7 @@ generator: javaClient-targetPackage: com.cetc32.dh.mybatis logging: level: - com.cetc32: debug + com.cetc32: WARN storePath: /root/ upLoadPath: ${storePath}upLoad diff --git a/src/main/resources/mapper/BaseAdminRoleMapper.xml b/src/main/resources/mapper/BaseAdminRoleMapper.xml index d5bcb87..0ab9a1a 100644 --- a/src/main/resources/mapper/BaseAdminRoleMapper.xml +++ b/src/main/resources/mapper/BaseAdminRoleMapper.xml @@ -30,9 +30,13 @@
- SELECT FROM base_admin_role + + role_name like concat( '%',#{roleName} ,'%') + and system_menu like concat( '%',#{systemMenu} ,'%') + order by id asc limit #{results} OFFSET #{offset} @@ -56,9 +60,13 @@ WHERE role_name=#{roleName} - SELECT count(*) FROM base_admin_role + + role_name like concat( '%',#{roleName} ,'%') + and system_menu like concat( '%',#{systemMenu} ,'%') + -- Gitee From 03d3c85580d79b6e9a3b0a286298e857a67ed789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Thu, 25 Aug 2022 15:37:05 +0800 Subject: [PATCH 10/22] fix log and ExceptionController printStackTrace --- .../common/response/ExceptionController.java | 9 +- .../dh/controller/rest/AuthController.java | 105 +++++++++--------- 2 files changed, 61 insertions(+), 53 deletions(-) diff --git a/src/main/java/com/cetc32/dh/common/response/ExceptionController.java b/src/main/java/com/cetc32/dh/common/response/ExceptionController.java index d30f6a0..9ab55b0 100644 --- a/src/main/java/com/cetc32/dh/common/response/ExceptionController.java +++ b/src/main/java/com/cetc32/dh/common/response/ExceptionController.java @@ -1,6 +1,8 @@ package com.cetc32.dh.common.response; import org.apache.http.protocol.ResponseDate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.validation.BindingResult; import org.springframework.validation.ObjectError; @@ -18,6 +20,7 @@ import java.io.IOException; @ControllerAdvice public class ExceptionController { + Logger logger = LoggerFactory.getLogger(ExceptionController.class); @ExceptionHandler(RuntimeException.class) @ResponseBody public ResponseData hander500(HttpServletRequest r,Exception e){ @@ -32,6 +35,7 @@ public class ExceptionController { @ExceptionHandler(value= HttpRequestMethodNotSupportedException.class) @ResponseBody public ResponseData handler405(HttpRequestMethodNotSupportedException e){ + e.printStackTrace(); return ResponseData.fail(HttpStatus.METHOD_NOT_ALLOWED.value(),"方法不支持的請求方式",null); } @@ -44,6 +48,8 @@ public class ExceptionController { @ResponseBody public ResponseData handler(IllegalArgumentException e) throws IOException { // log.error("Assert异常:-------------->{}",e.getMessage()); + e.printStackTrace(); + logger.error(e.toString()); return ResponseData.fail(400,e.getMessage(),null); } @@ -54,7 +60,7 @@ public class ExceptionController { @ExceptionHandler(value = MethodArgumentNotValidException.class) @ResponseBody public ResponseData handler(MethodArgumentNotValidException e) throws IOException { - + e.printStackTrace(); BindingResult bindingResult = e.getBindingResult(); //这一步是把异常的信息最简化 ObjectError objectError = bindingResult.getAllErrors().stream().findFirst().get(); @@ -64,6 +70,7 @@ public class ExceptionController { @ExceptionHandler(value = NoHandlerFoundException.class) @ResponseBody public ResponseData handler(HttpServletRequest h,NoHandlerFoundException e) throws IOException { + e.printStackTrace(); return ResponseData.fail(HttpStatus.NOT_FOUND.value(),"404,URL未找到!"+e.getMessage(),null); } } diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index d86cf68..b707e71 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -736,19 +736,24 @@ public class AuthController { @PostMapping("/token") @LoginSkipped public ResponseData token(String token){ - logger.debug("token in verify: "+token); + logger.debug("token in verify: {}",token); if(token!=null ) { - String userId=JWTUtil.getUsername(token); - if(StringUtils.isNotBlank(userId) && JWTUtil.verify(token)) + if( JWTUtil.verify(token)) { + long currentTimeMillis = System.currentTimeMillis()/1000; + long exp=JWTUtil.getExpire(token); + if(exp< currentTimeMillis) { + logger.info("token 已过期:"+token); + return ResponseData.error("token 已过期!"); + } + String userId=JWTUtil.getUsername(token); BaseAdminUser user = new BaseAdminUser(); user.setId(Integer.valueOf(userId)); user = userService.findByUser(user); + if(user!=null) { - long currentTimeMillis = System.currentTimeMillis()/1000; - long exp=JWTUtil.getExpire(token); List resultUserRole=null; try{ String[] roleIds =user.getRoleId().split(","); @@ -768,61 +773,57 @@ public class AuthController { }catch (Exception e){ e.printStackTrace(); } - if(exp>currentTimeMillis) - { - ResultUserInfo data=new ResultUserInfo(); - BeanUtils.copyProperties(user, data); - data.setRole(user.getRoleId()); - data.setUsername(user.getSysUserName()); - data.setId(user.getId()); - data.setSecurity(user.getSecurity()); - data.setAreacode(user.getAreacode()); - data.setDepartment(user.getDepartment()); - data.setPwd(user.getSysUserPwd()); - //System.out.println(user.getPermissions()); - if(resultUserRole!=null ){ - //确保user 的permission中有权限时候忽略角色权限 - if(StringUtils.isBlank(user.getPermissions())){ - for(ResultUserRole r :resultUserRole) - data.addPermissions(r.getSystemMenu()); - }else{ - data.addPermissions(Arrays.asList(user.getPermissions().split(","))); - } - if(null != data.getPermissions() && data.getPermissions().stream().noneMatch(f-> f.startsWith(sysCode))){ - data.getPermissions().add(basePermission); - } + ResultUserInfo data=new ResultUserInfo(); + BeanUtils.copyProperties(user, data); + data.setRole(user.getRoleId()); + data.setUsername(user.getSysUserName()); + data.setId(user.getId()); + data.setSecurity(user.getSecurity()); + data.setAreacode(user.getAreacode()); + data.setDepartment(user.getDepartment()); + data.setPwd(user.getSysUserPwd()); + //System.out.println(user.getPermissions()); + if(resultUserRole!=null ){ + //确保user 的permission中有权限时候忽略角色权限 + if(StringUtils.isBlank(user.getPermissions())){ + for(ResultUserRole r :resultUserRole) + data.addPermissions(r.getSystemMenu()); + }else{ + data.addPermissions(Arrays.asList(user.getPermissions().split(","))); } - if(null!=data.getDepartment() && data.getDepartment().size()>0){ - List depIds = data.getDepartment(); - Integer id=depIds.get(0); - if(depIds.size()>1){ - for(Integer i :depIds){ - if(id>i&& i>departmentRoot) - id=i; - } - } - Department dept=null; - do{ - dept =departmentService.findByID(id); - id=dept.getOrganizationid(); - }while(id!= departmentRoot); - if(null != dept){ - data.setDepartment(dept.getId()); - } + if(null != data.getPermissions() && data.getPermissions().stream().noneMatch(f-> f.startsWith(sysCode))){ + data.getPermissions().add(basePermission); } - data.setAreaMap(areaCommonService.selectCityByCodes(data.getAreacode())); - return ResponseData.success(data); } - else - { - return ResponseData.error("token 已过期!"); + if(null!=data.getDepartment() && data.getDepartment().size()>0){ + List depIds = data.getDepartment(); + Integer id=depIds.get(0); + if(depIds.size()>1){ + for(Integer i :depIds){ + if(id>i&& i>departmentRoot) + id=i; + } + } + Department dept=null; + do{ + dept =departmentService.findByID(id); + id=dept.getOrganizationid(); + }while(id!= departmentRoot); + if(null != dept){ + data.setDepartment(dept.getId()); + } } + data.setAreaMap(areaCommonService.selectCityByCodes(data.getAreacode())); + return ResponseData.success(data); + }else{ + logger.warn("找到该token对应账户,请联系管理员:{}",token); + return ResponseData.error("找到该token对应账户,请联系管理员."); } + }else{ + return ResponseData.error("token 认证失败!"); } - return ResponseData.error("token 认证失败!"); } - logger.debug("token = " +token); return ResponseData.error("缺少参数token!"); } -- Gitee From 08496f0de14c8864bd17aa1613aaefb09d8e6c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 26 Aug 2022 15:05:15 +0800 Subject: [PATCH 11/22] fix verify bug for token invalid --- .../java/com/cetc32/dh/controller/rest/AuthController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index b707e71..a3d1743 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -741,13 +741,14 @@ public class AuthController { { if( JWTUtil.verify(token)) { - long currentTimeMillis = System.currentTimeMillis()/1000; long exp=JWTUtil.getExpire(token); - if(exp< currentTimeMillis) { + long currentTimeMillis = System.currentTimeMillis()/1000; + if(exp <= currentTimeMillis) { logger.info("token 已过期:"+token); return ResponseData.error("token 已过期!"); } String userId=JWTUtil.getUsername(token); + logger.debug("analysis token userID: {}",userId); BaseAdminUser user = new BaseAdminUser(); user.setId(Integer.valueOf(userId)); user = userService.findByUser(user); -- Gitee From 3874d8bd8736fdb58955451de44b381a86a82989 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 26 Aug 2022 15:16:47 +0800 Subject: [PATCH 12/22] add loogers --- .../com/cetc32/dh/controller/rest/AuthController.java | 10 +++++----- .../cetc32/dh/controller/views/IndexController.java | 4 ++-- .../cetc32/dh/service/impl/AdminUserServiceImpl.java | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index a3d1743..2ded03d 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -243,7 +243,7 @@ public class AuthController { private ResponseData createTokenAndSaveCookies(HttpServletRequest request, HttpServletResponse response, BaseAdminUser user) { userService.updateLogin(user); long currentTimeMillis = System.currentTimeMillis(); - logger.debug("tokenAge:"+tokenAge); + logger.debug("tokenAge: {}",tokenAge); String jwtToken = JWTUtil.createToken(user.getId()+"", currentTimeMillis,tokenAge); //List zqPoints = null;//userService.getZQPoints(user.getAreaCodeList()); LoginResult data = new LoginResult(jwtToken, @@ -313,7 +313,7 @@ public class AuthController { @LoginSkipped @GetMapping("/user/exist") public ResponseData findUserByName(String username){ - logger.debug("exists username :"+username); + logger.debug("exists username : {}",username); List users =userService.findByUserName(username); if(users == null || users.size()==0){ return ResponseData.success( true); @@ -342,7 +342,7 @@ public class AuthController { return ResponseData.error("密码不能为空!"); } BaseAdminUser user =new BaseAdminUser(); - logger.debug("register userInfo :"+JSONObject.toJSONString(userInfo).toString()); + logger.debug("register userInfo : {}",JSONObject.toJSONString(userInfo)); // 使用属性复制相同字段减少代码量 BeanUtils.copyProperties(userInfo, user); user.setSysUserPwd(DigestUtils.Md5(userInfo.getUsername(),userInfo.getPassword())); @@ -529,7 +529,7 @@ public class AuthController { for(ResultUserInfoDe u:users){ ListroleIds =u.getRole(); //确保权限优先级为当前记录 - logger.debug("users getPermission: "+u.getPermissions()); + logger.debug("users getPermission: {}",u.getPermissions()); if(u.getPermissions() != null && 0 < u.getPermissions().size()) continue; if(null!=u.getRole()) @@ -744,7 +744,7 @@ public class AuthController { long exp=JWTUtil.getExpire(token); long currentTimeMillis = System.currentTimeMillis()/1000; if(exp <= currentTimeMillis) { - logger.info("token 已过期:"+token); + logger.info("token 已过期: {}",token); return ResponseData.error("token 已过期!"); } String userId=JWTUtil.getUsername(token); diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index bff3469..c73f4c7 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -128,7 +128,7 @@ public class IndexController { @GetMapping({"/wizard"}) public String wizard(String token, ModelMap map, HttpServletRequest req,HttpServletResponse response){ if(!JWTUtil.verify(token) || JWTUtil.getExpire(token)< (System.currentTimeMillis()/1000)){ - logger.debug("Token Verify Failed: "+ token); + logger.debug("Token Verify Failed: {}", token); if(StringUtils.isBlank(token)) return "redirect:"+eip+"?token="+token; else @@ -138,7 +138,7 @@ public class IndexController { user.setId(Integer.valueOf(JWTUtil.getUsername(token))); BaseAdminUser bau = adminUserService.findByUser(user); if(bau.getUserStatus()!=1001){ - logger.debug("status 1001 wizard token:"+token); + logger.debug("status 1001 wizard token: {}",token); return "redirect:"+eip+"?token="+token; } map.put("eip", eip); diff --git a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java index 8861bf5..9cf18e3 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java @@ -44,7 +44,7 @@ import java.util.stream.Collectors; @Service public class AdminUserServiceImpl implements AdminUserService { - private Logger logger = LoggerFactory.getLogger(this.getClass()); + private Logger logger = LoggerFactory.getLogger(AdminUserServiceImpl.class); @Autowired private BaseAdminUserMapper baseAdminUserMapper; -- Gitee From 8efbf55f7615bc92f8516ca819a4afa54f320a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Mon, 29 Aug 2022 16:17:20 +0800 Subject: [PATCH 13/22] fix some bugs --- .../dh/controller/rest/AuthController.java | 7 +++++-- .../dh/controller/views/IndexController.java | 11 ++++++++-- .../dh/service/impl/AdminUserServiceImpl.java | 1 + src/main/resources/application-xwy.yml | 2 +- .../resources/mapper/BaseAdminUserMapper.xml | 20 +++++++++---------- 5 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 2ded03d..8fb4490 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -167,11 +167,12 @@ public class AuthController { bAU.setRealName(bAU.getSysUserName()); bAU.setRegTime(new Date()); bAU.setSysUserPwd(DigestUtils.Md5(username,keyCangQiong)); + //bAU.setUserStatus(1001); userService.insertUser(bAU); user=new BaseAdminUser(); user.setRealName(username); user.setSysUserPwd(keyCangQiong); - user.setUserStatus(1001); + user.setUserStatus(1001);//verifyUserLoginEnable user.setWebLoginCount(0); //user= userService.findByUser(bAU); } @@ -245,6 +246,7 @@ public class AuthController { long currentTimeMillis = System.currentTimeMillis(); logger.debug("tokenAge: {}",tokenAge); String jwtToken = JWTUtil.createToken(user.getId()+"", currentTimeMillis,tokenAge); + logger.debug("Token info :{}",JWTUtil.getUsername(jwtToken)); //List zqPoints = null;//userService.getZQPoints(user.getAreaCodeList()); LoginResult data = new LoginResult(jwtToken, user.getDepartment()==null?null:user.getDepartment().toString(), @@ -291,7 +293,7 @@ public class AuthController { return ResponseData.error("用户名和密码不能为空!"); } - if(user==null || !user.getSysUserPwd().equals(DigestUtils.Md5(username,password))) + if(!user.getSysUserPwd().equals(DigestUtils.Md5(username,password))) { // loginFailed每次登陆都要更新,且登陆失败或成功都要进行更新,且登陆失败 // 也需要更新登陆时间,且登陆登出时间保持为一致,为了统计在线人数 @@ -743,6 +745,7 @@ public class AuthController { { long exp=JWTUtil.getExpire(token); long currentTimeMillis = System.currentTimeMillis()/1000; + logger.debug("token exp:{} ,{} ",exp,currentTimeMillis); if(exp <= currentTimeMillis) { logger.info("token 已过期: {}",token); return ResponseData.error("token 已过期!"); diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index c73f4c7..e818f25 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -49,11 +49,17 @@ public class IndexController { } String token=CookieUtil.getCookieValue(req,"token",true); ReturnUrl=getSimpleUrl(ReturnUrl); - if(cate!=0 && StringUtils.isNotBlank(token) && (System.currentTimeMillis()/1000L)0 && end>0 && start0) diff --git a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java index 9cf18e3..90bac7f 100644 --- a/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/AdminUserServiceImpl.java @@ -68,6 +68,7 @@ public class AdminUserServiceImpl implements AdminUserService { return baseAdminUserMapper.insertUser(user); } + @Override public BaseAdminUser findByUser(BaseAdminUser user){ if (user == null) return null; diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index 94bec9f..d271ad5 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -50,7 +50,7 @@ generator: javaClient-targetPackage: com.cetc32.dh.mybatis logging: level: - com.cetc32: WARN + com.cetc32: debug storePath: /root/ upLoadPath: ${storePath}upLoad diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index 2ddae18..d82038c 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -390,18 +390,18 @@ UPDATE base_admin_user - + + + web_login_status = #{webLoginStatus}, @@ -423,10 +423,10 @@ loginfailed = #{loginFailed}, - + + WHERE id = #{id} -- Gitee From 2e60097c6caf00fe23c0b57883e47282b54292dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B0=E5=A4=AA=E7=8B=BC?= <1214761728@qq.com> Date: Fri, 2 Sep 2022 11:02:04 +0800 Subject: [PATCH 14/22] fix some bugs --- .../controller/rest/AreaCommonController.java | 3 +- .../dh/controller/rest/AuthController.java | 8 ++- .../dh/controller/views/IndexController.java | 62 +++++++++++++++++-- .../resources/mapper/BaseAdminUserMapper.xml | 3 + src/main/resources/templates/wizard.html | 7 +++ 5 files changed, 75 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java b/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java index 45362f6..929a797 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AreaCommonController.java @@ -54,8 +54,9 @@ public class AreaCommonController { if (id == null) { id = startCode; } + // List areaCommonDTO = areaCommonService.getAreaTreeList(id); - return ResponseResult.success(areaCommonService.getAreaTreeList(startCode)); + return ResponseResult.success(areaCommonService.getAreaTreeList(id)); } @ApiOperation(value = "根据ID查询区域范围") diff --git a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java index 8fb4490..b7c91c7 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/AuthController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/AuthController.java @@ -167,12 +167,16 @@ public class AuthController { bAU.setRealName(bAU.getSysUserName()); bAU.setRegTime(new Date()); bAU.setSysUserPwd(DigestUtils.Md5(username,keyCangQiong)); - //bAU.setUserStatus(1001); + bAU.setUserStatus(1001); userService.insertUser(bAU); user=new BaseAdminUser(); + user.setSysUserName(username); + user.setUserStatus(1001);//verifyUserLoginEnable + BaseAdminUser u =userService.findByUser(user); + if(null != u) + user.setId(u.getId()); user.setRealName(username); user.setSysUserPwd(keyCangQiong); - user.setUserStatus(1001);//verifyUserLoginEnable user.setWebLoginCount(0); //user= userService.findByUser(bAU); } diff --git a/src/main/java/com/cetc32/dh/controller/views/IndexController.java b/src/main/java/com/cetc32/dh/controller/views/IndexController.java index e818f25..b266af5 100644 --- a/src/main/java/com/cetc32/dh/controller/views/IndexController.java +++ b/src/main/java/com/cetc32/dh/controller/views/IndexController.java @@ -1,8 +1,11 @@ package com.cetc32.dh.controller.views; import com.alibaba.fastjson.JSONObject; +import com.cetc32.dh.dto.AreaCommonDTO; +import com.cetc32.dh.dto.CommonTreeDTO; import com.cetc32.dh.entity.BaseAdminUser; import com.cetc32.dh.service.AdminUserService; +import com.cetc32.dh.service.AreaCommonService; import com.cetc32.webutil.common.annotations.LoginRequired; import com.cetc32.webutil.common.annotations.LoginSkipped; import com.cetc32.webutil.common.util.CookieUtil; @@ -24,6 +27,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + /** * SSO认证中心登陆页面,注册页面视图控制器材 * @author root @@ -34,6 +40,10 @@ import javax.servlet.http.HttpServletResponse; public class IndexController { @Autowired AdminUserService adminUserService; + @Autowired + private AreaCommonService areaCommonService; + @Value("${chinaCode:100000}") + String chinaCode; @Value("${eip}") String eip = "http://www.baidu.com/"; @Value("${title}") @@ -52,7 +62,8 @@ public class IndexController { /*if(cate==0){ map.put("cate",0); return logout(ReturnUrl,req.getParameter("type"),map,req,rep); - }else*/ if(cate!=0 && + }else*/ + if(cate!=0 && StringUtils.isNotBlank(token) && (System.currentTimeMillis()/1000L) list =areaCommonService.getAreaTreeList(chinaCode); + List code = new ArrayList<>(); + for(CommonTreeDTO c:list){ + code.addAll(searchValueByKey(c)); + } + BaseAdminUser baseAdminUser =new BaseAdminUser(); + baseAdminUser.setAreacode(code); + baseAdminUser.setSecurity(2); + baseAdminUser.setUserStatus(1002); + baseAdminUser.setId(user.getId()); + adminUserService.updateUserInfo(baseAdminUser); + logger.debug("{} code: {}",code.size() ,code); + } + logger.debug("status 1002 wizard token: {}",token); + return "redirect:"+eip+"?token="+token; + } + + private List searchValueByKey(CommonTreeDTO cdto){ + List ret = new ArrayList<>(); + ret.add(cdto.getKey()); + if(null != cdto.getChildren()){ + List list = cdto.getChildren(); + for(CommonTreeDTO c: list){ + ret.addAll(searchValueByKey(c)); + } + } + return ret; + } + + + public String wizard0(String token, ModelMap map, HttpServletRequest req,HttpServletResponse response){ if(!JWTUtil.verify(token) || JWTUtil.getExpire(token)< (System.currentTimeMillis()/1000)){ logger.debug("Token Verify Failed: {}", token); - if(StringUtils.isBlank(token)) + /*if(StringUtils.isNotBlank(token)) return "redirect:"+eip+"?token="+token; - else - return "redirect:"+eip; + else*/ + return "redirect:"+eip; } BaseAdminUser user =new BaseAdminUser(); + logger.debug("Token Verify Success userId: {} ----token: {}",JWTUtil.getUsername(token), token); user.setId(Integer.valueOf(JWTUtil.getUsername(token))); BaseAdminUser bau = adminUserService.findByUser(user); if(bau.getUserStatus()!=1001){ - logger.debug("status 1001 wizard token: {}",token); + logger.debug("status 1002 wizard token: {}",token); return "redirect:"+eip+"?token="+token; } map.put("eip", eip); diff --git a/src/main/resources/mapper/BaseAdminUserMapper.xml b/src/main/resources/mapper/BaseAdminUserMapper.xml index d82038c..d92575c 100644 --- a/src/main/resources/mapper/BaseAdminUserMapper.xml +++ b/src/main/resources/mapper/BaseAdminUserMapper.xml @@ -91,7 +91,10 @@ realname = #{realName}, + permissions = #{permissions} + + WHERE id = #{id} diff --git a/src/main/resources/templates/wizard.html b/src/main/resources/templates/wizard.html index 7fa00e7..2160132 100644 --- a/src/main/resources/templates/wizard.html +++ b/src/main/resources/templates/wizard.html @@ -128,6 +128,7 @@