Преглед на файлове

租户被禁用登录校验

dongxin преди 1 година
родител
ревизия
de34def544

+ 11 - 4
authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java

@@ -4,19 +4,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.jzg.commons.constants.SystemConstants;
 import com.jzg.commons.entity.po.SysRoleDataScope;
 import com.jzg.commons.entity.po.SysRoleDataScopeLink;
+import com.jzg.commons.entity.po.SysSystem;
 import com.jzg.commons.entity.vo.SysRoleDataScopeVo;
 import com.jzg.commons.util.MinioUtils;
+import com.jzg.commons.util.StringUtils;
 import com.jzg.entity.SysRolePerms;
 import com.jzg.entity.SysUser;
-import com.jzg.entity.vo.SysRoleDataPreVo;
 import com.jzg.entity.vo.SysUserJzgVo;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.mapper.SysRoleDataScopeLinkMapper;
 import com.jzg.mapper.SysRoleDataScopeMapper;
+import com.jzg.service.SysSystemService;
 import com.jzg.service.SysUserRoleService;
 import com.jzg.service.SysUserService;
 import com.jzg.commons.util.PasswordUtils;
-import okhttp3.internal.platform.Platform;
 import org.redisson.api.RedissonClient;
 import org.springframework.security.authentication.AuthenticationProvider;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -35,6 +36,8 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
 
     private SysUserService sysUserService;
 
+    private SysSystemService sysSystemService;
+
     private SysUserRoleService sysUserRoleService;
 
     private RedissonClient redissonClient;
@@ -43,13 +46,14 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
 
     private SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper;
 
-    public JzgAuthenticationProvider(UserDetailsService userDetailsService,SysUserService sysUserService, SysUserRoleService sysUserRoleService,RedissonClient redissonClient,SysRoleDataScopeMapper sysRoleDataScopeMapper,SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper) {
+    public JzgAuthenticationProvider(UserDetailsService userDetailsService, SysUserService sysUserService, SysUserRoleService sysUserRoleService, RedissonClient redissonClient, SysRoleDataScopeMapper sysRoleDataScopeMapper, SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper, SysSystemService sysSystemService) {
         this.userDetailsService = userDetailsService;
         this.sysUserService = sysUserService;
         this.sysUserRoleService = sysUserRoleService;
         this.redissonClient = redissonClient;
         this.sysRoleDataScopeMapper = sysRoleDataScopeMapper;
         this.sysRoleDataScopeLinkMapper = sysRoleDataScopeLinkMapper;
+        this.sysSystemService = sysSystemService;
     }
 
 
@@ -72,7 +76,10 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
 //            throw new SystemException("验证码错误,请重新输入");
 //        }
 
-
+        SysSystem sysSystem = sysSystemService.getBySystemCode(system);
+        if(StringUtils.isNull(sysSystem)){
+            throw new SystemException("该租户已经禁用或者删除,请联系运营平台!");
+        }
         SysUser byId = sysUserService.getByUserName(username);
         String salt = byId.getSalt();
 

+ 5 - 5
authentication/src/main/java/com/jzg/config/SecurityConfig.java

@@ -1,10 +1,10 @@
 package com.jzg.config;
 
 import com.jzg.filter.TokenAuthenticationFilter;
-import com.jzg.handler.JzgAuthenticationFailedHandler;
 import com.jzg.handler.JzgAuthenticationSuccessHandler;
 import com.jzg.mapper.SysRoleDataScopeLinkMapper;
 import com.jzg.mapper.SysRoleDataScopeMapper;
+import com.jzg.service.SysSystemService;
 import com.jzg.service.SysUserRoleService;
 import com.jzg.service.SysUserService;
 import org.redisson.api.RedissonClient;
@@ -21,9 +21,6 @@ import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.security.web.SecurityFilterChain;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
 
 
 @Configuration
@@ -34,6 +31,9 @@ public class SecurityConfig {
     @Autowired
     SysUserService sysUserService;
 
+    @Autowired
+    SysSystemService sysSystemService;
+
     @Autowired
     JzgTokenService tokenService;
 
@@ -56,7 +56,7 @@ public class SecurityConfig {
 
     @Bean
     public AuthenticationProvider authenticationProvider(UserDetailsService userDetailsService) {
-        return new JzgAuthenticationProvider(userDetailsService,sysUserService,sysRoleService,redissonClient,sysRoleDataScopeMapper,sysRoleDataScopeLinkMapper);
+        return new JzgAuthenticationProvider(userDetailsService,sysUserService,sysRoleService,redissonClient,sysRoleDataScopeMapper,sysRoleDataScopeLinkMapper,sysSystemService);
     }
 
     @Bean

+ 9 - 0
authentication/src/main/java/com/jzg/mapper/SysSystemMapper.java

@@ -0,0 +1,9 @@
+package com.jzg.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jzg.commons.entity.po.SysSystem;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SysSystemMapper extends BaseMapper<SysSystem> {
+}

+ 15 - 0
authentication/src/main/java/com/jzg/service/SysSystemService.java

@@ -0,0 +1,15 @@
+package com.jzg.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.commons.entity.po.SysSystem;
+import com.jzg.entity.SysUserRole;
+
+public interface SysSystemService extends IService<SysSystem> {
+
+    /**
+     * 根据SystemCode 查询 System对象
+     * @param systemCode
+     * @return
+     */
+    public SysSystem getBySystemCode(String systemCode);
+}

+ 21 - 0
authentication/src/main/java/com/jzg/service/impl/SysSystemServiceImpl.java

@@ -0,0 +1,21 @@
+package com.jzg.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.entity.enums.YesNoEnum;
+import com.jzg.commons.entity.po.SysSystem;
+import com.jzg.mapper.SysSystemMapper;
+import com.jzg.service.SysSystemService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem> implements SysSystemService {
+
+    @Override
+    public SysSystem getBySystemCode(String systemCode) {
+        return this.getOne(new LambdaQueryWrapper<SysSystem>()
+                .eq(SysSystem::getSysCode, systemCode)
+                .eq(SysSystem::getAvailable, YesNoEnum.YES.getCode())
+                .eq(SysSystem::getIsDelete, YesNoEnum.NO.getCode()));
+    }
+}

+ 47 - 0
authentication/src/main/resources/mapper/SysSystemMapper.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jzg.mapper.SysSystemMapper">
+
+    <resultMap id="SysSystemResult" type="com.jzg.commons.entity.po.SysSystem">
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="parentId" column="parent_id" jdbcType="VARCHAR"/>
+        <result property="isTenant" column="is_tenant" jdbcType="TINYINT"/>
+        <result property="sysCode" column="sys_code" jdbcType="VARCHAR"/>
+        <result property="sysName" column="sys_name" jdbcType="VARCHAR"/>
+        <result property="shortName" column="short_name" jdbcType="VARCHAR"/>
+        <result property="userId" column="user_id" jdbcType="VARCHAR"/>
+        <result property="sysIcon" column="sys_icon" jdbcType="VARCHAR"/>
+        <result property="sysType" column="sys_type" jdbcType="TINYINT"/>
+        <result property="available" column="available" jdbcType="TINYINT"/>
+        <result property="provinceId" column="province_id" jdbcType="VARCHAR"/>
+        <result property="cityId" column="city_id" jdbcType="VARCHAR"/>
+        <result property="districtId" column="district_id" jdbcType="VARCHAR"/>
+        <result property="address" column="address" jdbcType="VARCHAR"/>
+        <result property="contact" column="contact" jdbcType="VARCHAR"/>
+        <result property="telephone" column="telephone" jdbcType="VARCHAR"/>
+        <result property="contactAdress" column="contact_adress" jdbcType="VARCHAR"/>
+        <result property="contactJob" column="contact_job" jdbcType="VARCHAR"/>
+        <result property="businessSize" column="business_size" jdbcType="INTEGER"/>
+        <result property="legalName" column="legal_name" jdbcType="VARCHAR"/>
+        <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="isDelete" column="is_delete" jdbcType="TINYINT"/>
+    </resultMap>
+
+    <sql id="selectSystemVo">
+        select id,parent_id,is_tenant,
+               sys_code,sys_name,short_name,
+               user_id,sys_icon,sys_type,
+               available,province_id,city_id,
+               district_id,address,contact,
+               telephone,contact_adress,contact_job,
+               business_size,legal_name,create_by,
+               create_time,update_by,update_time,
+               is_delete
+        from sys_system
+    </sql>
+</mapper>