소스 검색

修复登录后退出问题以及删除人员时删除校验码信息表数据

fuyuhchuan 1 년 전
부모
커밋
40f9b84fbb

+ 4 - 9
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysLogininforController.java

@@ -51,26 +51,21 @@ public class SysLogininforController extends BaseController {
                     throw new BusinessException("日志数据异常!");//登录日志记录有数据,而校验码表中没有数据
                 }
                 String checkCode1 = sysCheckCode.getCheckCode();
-                System.out.println(list.get(i).getUserName());
-                System.out.println(list.get(i).getIpaddr());
-                System.out.println(list.get(i).getStatus());
-                System.out.println(list.get(i).getMsg());
-                System.out.println(list.get(i).getAccessTime());
-                System.out.println(list.get(i).getTenantId());
-                System.out.println(list.get(i).getDeptId());
                 //分两种情况判断:dept_id参与校验码计算与否
                 try {
                     if (!Objects.nonNull(list.get(i).getDeptId())) {
                         String checkCode = operation.CBCMAC((list.get(i).getUserName() + list.get(i).getIpaddr() + list.get(i).getStatus() +
                                 list.get(i).getMsg() + list.get(i).getAccessTime().toString() + list.get(i).getTenantId().toString()).getBytes("UTF-8"));
+                        System.out.println("计算校验: "+checkCode);
+                        System.out.println("表中数据: "+checkCode1);
                         if (!checkCode.equals(checkCode1)) {
-                            System.out.println("计算校验:"+checkCode);
-                            System.out.println("校验表中:"+checkCode1);
                             throw new BusinessException("【完整性】校验失败,日志数据是被破坏或者篡改的");
                         }
                     }else {
                         String checkCode = operation.CBCMAC((list.get(i).getUserName() + list.get(i).getIpaddr() + list.get(i).getStatus() +
                                 list.get(i).getMsg() + list.get(i).getAccessTime().toString() + list.get(i).getDeptId().toString() + list.get(i).getTenantId().toString()).getBytes("UTF-8"));
+                        System.out.println("计算校验: "+checkCode);
+                        System.out.println("表中数据: "+checkCode1);
                         if (!checkCode.equals(checkCode1)) {
                             throw new BusinessException("【完整性】校验失败,日志数据是被破坏或者篡改的");
                         }

+ 1 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysUserController.java

@@ -116,7 +116,7 @@ public class SysUserController extends BaseController {
         }
         sysCheckCode.setPlaintext(user.getPhonenumber());
         try {
-            sysCheckCode.setCiphertext(operation.SM4CBCEnc(user.getPassword().getBytes("UTF-8")));//存手机号密文
+            sysCheckCode.setCiphertext(operation.SM4CBCEnc(user.getPhonenumber().getBytes("UTF-8")));//存手机号密文
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();
         }

+ 1 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysCheckCodeMapper.java

@@ -15,4 +15,5 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface SysCheckCodeMapper extends CrudMapper<SysCheckCode> {
 
+    void deleteByIds(Long[] userIds);
 }

+ 9 - 13
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysLogininforServiceImpl.java

@@ -66,15 +66,6 @@ public class SysLogininforServiceImpl extends AbstractCrudService<SysLogininforM
             logininfor.setDeptId(null);
         }
         logininforMapper.insertLogininfor(logininfor);
-        System.out.println(logininfor.getUserName());
-        System.out.println(logininfor.getIpaddr());
-        System.out.println(logininfor.getStatus());
-        System.out.println(logininfor.getMsg());
-        System.out.println(logininfor.getAccessTime());
-        System.out.println(logininfor.getDeptId());
-        System.out.println(logininfor.getTenantId());
-        System.out.println("sysUser---dept_id:" + sysUser.getDeptId());
-        System.out.println("sysUser---tenant_id:" + sysUser.getTenantId());
 
         sysCheckCode.setPlaintext(logininfor.getInfoId().toString());
         sysCheckCode.setUserName(logininfor.getUserName());
@@ -82,13 +73,18 @@ public class SysLogininforServiceImpl extends AbstractCrudService<SysLogininforM
         sysCheckCode.setUserId(sysUser.getUserId());
         sysCheckCode.setDeptId(sysUser.getDeptId() != null ? sysUser.getDeptId() : null);
         sysCheckCode.setCheckCodeType(3);
+        String checkCode = null;
         try {
             if (logininfor.getDeptId() == null) {
-                sysCheckCode.setCheckCode(operation.CBCMAC((logininfor.getUserName() + logininfor.getIpaddr() + logininfor.getStatus() + logininfor.getMsg()
-                        + logininfor.getAccessTime().toString() + logininfor.getTenantId().toString()).getBytes("UTF-8")));
+                checkCode = operation.CBCMAC((logininfor.getUserName() + logininfor.getIpaddr() + logininfor.getStatus() + logininfor.getMsg()
+                        + logininfor.getAccessTime().toString() + logininfor.getTenantId().toString()).getBytes("UTF-8"));
+                sysCheckCode.setCheckCode(checkCode);
+                System.out.println("存入数据库校验码: "+checkCode);
             } else {
-                sysCheckCode.setCheckCode(operation.CBCMAC((logininfor.getUserName() + logininfor.getIpaddr() + logininfor.getStatus() + logininfor.getMsg()
-                        + logininfor.getAccessTime().toString() + logininfor.getDeptId().toString() + logininfor.getTenantId().toString()).getBytes("UTF-8")));
+                checkCode = operation.CBCMAC((logininfor.getUserName() + logininfor.getIpaddr() + logininfor.getStatus() + logininfor.getMsg()
+                        + logininfor.getAccessTime().toString() + logininfor.getDeptId().toString() + logininfor.getTenantId().toString()).getBytes("UTF-8"));
+                sysCheckCode.setCheckCode(checkCode);
+                System.out.println("存入数据库校验码: "+checkCode);
             }
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();

+ 3 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantConfigServiceImpl.java

@@ -46,6 +46,9 @@ public class SysTenantConfigServiceImpl extends AbstractCrudService<SysTenantCon
 
     @Override
     public List<SysTenantConfigVo> getTenantConfig(String url) {
+        if(url.equals("32.0.10.1:506")){
+            url = "10.236.244.108:8083";
+        }
         List<SysTenantConfigVo> list = baseMapper.getTenantConfig(url);
         if (CollectionUtils.isEmpty(list)){
             list = baseMapper.getTenantConfig1();

+ 26 - 21
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -60,6 +60,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     @Autowired
     private ISysConfigService iSysConfigService;
 
+    @Autowired
+    private SysCheckCodeMapper sysCheckCodeMapper;
 
     /**
      * 根据条件分页查询用户列表
@@ -206,7 +208,7 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public String checkPhoneUnique1(String phone, Integer tenantId){
+    public String checkPhoneUnique1(String phone, Integer tenantId) {
         int count = userMapper.checkPhoneUnique1(phone, tenantId);
         if (count > 0) {
             return UserConstants.NOT_UNIQUE;
@@ -460,21 +462,24 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
         userRoleMapper.deleteUserRole(userIds);
         // 删除用户与岗位关联
         userPostMapper.deleteUserPost(userIds);
+        // 删除校验码表数据
+        sysCheckCodeMapper.deleteByIds(userIds);
+
         return userMapper.deleteUserByIds(userIds);
     }
 
     @Override
     @Transactional
-    public int deleteUserByPwd(Long userId,String password) {
+    public int deleteUserByPwd(Long userId, String password) {
         checkUserAllowed(new SysUser(userId));
         SysUser user = this.selectUserById(userId);
-        if (user.getPassword().equals(password)){
+        if (user.getPassword().equals(password)) {
             // 删除用户与角色关联
             userRoleMapper.deleteUserRoleByUserId(userId);
             // 删除用户与岗位表
             userPostMapper.deleteUserPostByUserId(userId);
             return userMapper.deleteUserById(userId);
-        }else {
+        } else {
             throw new BusinessException("密码错误");
         }
     }
@@ -518,23 +523,23 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
 
     @Override
     public SysUser getAppUserInfo(String username, Integer tenantId, String phone) {
-       SysUser sysUser = new SysUser();
-       if (!StringUtils.isBlank(username)) {
-           sysUser = userMapper.selectUserData(username, tenantId);
-       } else if (!StringUtils.isBlank(phone)) {
-           sysUser = userMapper.selectUserDataOne(tenantId,phone);
-       }
-       if(Objects.isNull(sysUser)){
-           throw new BusinessException("用户信息未注册");
-       }
-       List<SysRole> sysRoles = roleMapper.selectRolePermissionByUserId(sysUser.getUserId());
-       List<SysRoleVO> collect = sysRoles.stream().map(sysRole -> {
-           SysRoleVO sysRoleVO = new SysRoleVO();
-           BeanUtils.copyProperties(sysRole, sysRoleVO);
-           return sysRoleVO;
-       }).collect(Collectors.toList());
-       sysUser.setRoles(collect);
-       return sysUser;
+        SysUser sysUser = new SysUser();
+        if (!StringUtils.isBlank(username)) {
+            sysUser = userMapper.selectUserData(username, tenantId);
+        } else if (!StringUtils.isBlank(phone)) {
+            sysUser = userMapper.selectUserDataOne(tenantId, phone);
+        }
+        if (Objects.isNull(sysUser)) {
+            throw new BusinessException("用户信息未注册");
+        }
+        List<SysRole> sysRoles = roleMapper.selectRolePermissionByUserId(sysUser.getUserId());
+        List<SysRoleVO> collect = sysRoles.stream().map(sysRole -> {
+            SysRoleVO sysRoleVO = new SysRoleVO();
+            BeanUtils.copyProperties(sysRole, sysRoleVO);
+            return sysRoleVO;
+        }).collect(Collectors.toList());
+        sysUser.setRoles(collect);
+        return sysUser;
     }
 
 

+ 2 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/util/App.java

@@ -46,7 +46,7 @@ public class App
 		System.out.println(">>>>访问控制信息存储MAC计算:");
 
 		//访问控制信息的获取
-		String str1 = "YT_admin";
+		String str1 = "YT_admin123";
 		System.out.println("        测试数据: [ "+str1+" ] ");
 
 		//访问控制信息校验码计算
@@ -79,7 +79,7 @@ public class App
 		System.out.println(">>>>敏感数据安全存储:");
 
 		//敏感数据的获取
-		String str1 = "16621197124";
+		String str1 = "13345678910";
 		System.out.println("        敏感数据: 某人员身份证号码=  [ "+str1+" ] ");
 
 		//敏感数据校验码计算

+ 7 - 7
base-modules/service-system/service-system-biz/src/main/resources/application.yml

@@ -40,13 +40,13 @@ spring:
     dynamic:
       datasource:
         master:
-          password: root
-          url: jdbc:mysql://localhost:3306/usky-cloud?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowMultiQueries=true
-          username: root
-#          driver-class-name: dm.jdbc.driver.DmDriver
-#          password: Yt#75Usky
-#          url: jdbc:dm://localhost:5237/usky_cloud?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8
-#          username: usky_cloud
+#          password: root
+#          url: jdbc:mysql://localhost:3306/usky-cloud?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowMultiQueries=true
+#          username: root
+          driver-class-name: dm.jdbc.driver.DmDriver
+          password: Yt#75Usky
+          url: jdbc:dm://localhost:5237/usky_cloud?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8
+          username: usky_cloud
       druid:
         initial-size: 5
         min-idle: 5

+ 3 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysCheckCodeMapper.xml

@@ -15,4 +15,7 @@
         <result column="user_name" property="userName" />
     </resultMap>
 
+    <delete id="deleteByIds" parameterType="Long">
+        delete from sys_check_code where user_id in #{userIds}
+    </delete>
 </mapper>