Browse Source

登录调整
项目结构调整

wang 3 months ago
parent
commit
131863bfdc

+ 2 - 2
sxgk-projet/base-service/pom.xml

@@ -4,8 +4,8 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>com.tofly</groupId>
-        <artifactId>tofly-webParent</artifactId>
-        <version>1.0.0</version>
+        <artifactId>sxgkproject</artifactId>
+        <version>1.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 10 - 2
sxgk-projet/pom.xml

@@ -2,7 +2,11 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
+    <parent>
+        <groupId>com.tofly</groupId>
+        <artifactId>tofly-webParent</artifactId>
+        <version>1.0.0</version>
+    </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.tofly</groupId>
     <artifactId>sxgkproject</artifactId>
@@ -24,7 +28,11 @@
                 <version>1.18.20</version>
                 <scope>provided</scope>
             </dependency>
-
+            <dependency>
+                <groupId>com.tofly</groupId>
+                <artifactId>common-redis</artifactId>
+                <version>1.0.0</version>
+            </dependency>
             <dependency>
                 <groupId>io.swagger</groupId>
                 <artifactId>swagger-annotations</artifactId>

+ 2 - 3
sxgk-projet/sxgk-data/pom.xml

@@ -4,9 +4,8 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>com.tofly</groupId>
-        <artifactId>tofly-webParent</artifactId>
-        <version>1.0.0</version>
-
+        <artifactId>sxgkproject</artifactId>
+        <version>1.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 2 - 3
sxgk-projet/sxgk-notice/pom.xml

@@ -4,9 +4,8 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>com.tofly</groupId>
-        <artifactId>tofly-webParent</artifactId>
-        <version>1.0.0</version>
-
+        <artifactId>sxgkproject</artifactId>
+        <version>1.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 2 - 3
sxgk-projet/sxgk-survey/pom.xml

@@ -4,9 +4,8 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
         <groupId>com.tofly</groupId>
-        <artifactId>tofly-webParent</artifactId>
-        <version>1.0.0</version>
-
+        <artifactId>sxgkproject</artifactId>
+        <version>1.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 2 - 2
sxgk-projet/sxgk/pom.xml

@@ -9,8 +9,8 @@
     <!--</parent>-->
     <parent>
         <groupId>com.tofly</groupId>
-        <artifactId>tofly-webParent</artifactId>
-        <version>1.0.0</version>
+        <artifactId>sxgkproject</artifactId>
+        <version>1.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 0
sxgk-projet/tofly-auth/pom.xml

@@ -6,6 +6,7 @@
         <artifactId>tofly-parent</artifactId>
         <groupId>com.tofly</groupId>
         <version>1.0.0</version>
+        <relativePath/>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 17 - 1
sxgk-projet/tofly-auth/src/main/java/com/tofly/auth/controller/TokenController.java

@@ -4,6 +4,7 @@ import com.tofly.auth.api.APIUser;
 import com.tofly.auth.api.TgpmsConnectInfo;
 import com.tofly.auth.config.Page;
 import com.tofly.auth.feign.BaseUserService;
+import com.tofly.auth.oauth.LoginTypeEnum;
 import com.tofly.common.core.constant.SecurityConstants;
 import com.tofly.common.core.entity.ResultRespone;
 import com.tofly.common.core.util.StringUtil;
@@ -179,10 +180,25 @@ public class TokenController {
         HttpHeaders requestHeaders = new HttpHeaders();
         requestHeaders.set("tokenCheck", token+ LoginTypeEnum.TOKEN_LOGIN_DYG.getSuf());
         HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestHeaders);
-        ResponseEntity<HashMap> result = restTemplate.exchange("http://tofly-getway/auth/oauth/login", HttpMethod.GET, requestEntity, HashMap.class);
+        ResponseEntity<HashMap> result = restTemplate.exchange("http://tofly-getway/auth/oauth/login", HttpMethod.POST, requestEntity, HashMap.class);
 //        ResponseEntity<HashMap> result = restTemplate.exchange("http://tofly-getway-hs/auth-hs/oauth/login", HttpMethod.GET, requestEntity, HashMap.class);
         return ResultRespone.success(result.getBody());
     }
+
+    @PostMapping("/mydygLogin")
+    @ApiOperation(tags = "登陆接口", value = "多异构平台登录")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "token", value = "token", required = true, dataType = "String"),
+    })
+    public Object mydygLoginPost(String token) {
+
+        HttpHeaders requestHeaders = new HttpHeaders();
+        requestHeaders.set("tokenCheck", token+ LoginTypeEnum.TOKEN_LOGIN_DYG.getSuf());
+        HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestHeaders);
+        ResponseEntity<HashMap> result = restTemplate.exchange("http://tofly-getway/auth/oauth/login", HttpMethod.POST, requestEntity, HashMap.class);
+//        ResponseEntity<HashMap> result = restTemplate.exchange("http://tofly-getway-hs/auth-hs/oauth/login", HttpMethod.GET, requestEntity, HashMap.class);
+        return result.getBody();
+    }
     @GetMapping("/loginByTgpms")
     @ApiOperation(tags = "登陆接口", value = "tpgms系统登陆")
     @ApiImplicitParams({

+ 0 - 1
sxgk-projet/tofly-auth/src/main/java/com/tofly/auth/feign/factory/BaseUserLoginServiceFallbackFactory.java

@@ -15,7 +15,6 @@ public class BaseUserLoginServiceFallbackFactory implements FallbackFactory<Base
     @Override
     public BaseUserLoginService create(Throwable throwable) {
         BaseUserLoginService baseUserService=new BaseUserLoginServiceFallbackImpl();
-        ((BaseUserServiceFallbackImpl) baseUserService).setThrowable(throwable);
         return baseUserService;
     }
 }

+ 73 - 119
sxgk-projet/tofly-auth/src/main/java/com/tofly/auth/oauth/ToFlyUserDetailsService.java

@@ -3,7 +3,7 @@ package com.tofly.auth.oauth;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.tofly.auth.api.MydeskConnectInfo;
-import com.tofly.auth.config.GisBimConfig;
+
 import com.tofly.auth.feign.BaseUserService;
 import com.tofly.common.core.constant.CommonConstants;
 import com.tofly.common.core.constant.SecurityConstants;
@@ -56,7 +56,7 @@ public class ToFlyUserDetailsService implements UserDetailsService {
     private final BaseUserService baseUserService;
     private final RedisTemplate redisTemplate;
     private final MydeskConnectInfo mydeskConnectInfo;
-
+ //   private final GisBimConfig gisBimConfig;
 
     @Override
     @SneakyThrows
@@ -64,6 +64,7 @@ public class ToFlyUserDetailsService implements UserDetailsService {
         //首先从缓存中获取,当调用时,我们可以将用户信息存储到缓存,或者程序启动时加载到缓存
         Cache cache = cacheManager.getCache("user_details");
         //拆分带后缀的用户名
+
         String[] userNameSplit = username.split("#");
         String usernameWithoutSuf = null;
         String suf = null;
@@ -80,19 +81,18 @@ public class ToFlyUserDetailsService implements UserDetailsService {
                 username = useTokenLogin(usernameWithoutSuf);
                 break;
             case  "TOKENGISLOGIN":
-                username = userTokenLoginGis(usernameWithoutSuf);
+              //  username = userTokenLoginGis(usernameWithoutSuf);
                 break;
-            case    "TOKENLOGINDYG":
+            case    "TOKENLOGINDYG_tokenLogin":
                 username = userTokenLoginDYG(usernameWithoutSuf);
                 break;
             case  "#NAMEANDPASSWORDLOGIN":
                 username = usernameWithoutSuf; break;
-            default: username = userNameSplit[0];
+            default: username = userNameSplit[0] ;
         }
-
+        username =   username.replace("_UNIONLOGIN","");
         usernameUpper = username.toUpperCase(Locale.ROOT);
 
-
         log.info("------------baseUserService:{},username:{}",baseUserService,username);
         ResultRespone<UserInfo> result = baseUserService.getInfo(username, SecurityConstants.FROM_IN);
         log.info("------------result",result.getMessage());
@@ -103,17 +103,17 @@ public class ToFlyUserDetailsService implements UserDetailsService {
 
         UserInfo userInfo=result.getResult();
         User user=userInfo.getSysUser();
-        Date lastUpdateTime = user.getLastUpdateTime();
-        if(lastUpdateTime!=null){
-            LocalDate currentDate = LocalDate.now();
-            Calendar calendar = Calendar.getInstance();
-            calendar.setTime(lastUpdateTime);
-            LocalDate newDate = LocalDate.of(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH)+1,calendar.get(Calendar.DAY_OF_MONTH));
-            Period period = Period.between(newDate, currentDate);
-            if (period.getMonths() >= 6) {
-                throw new UserCheckAuthenticationException("用户最后一次修改密码的时间超过6个月,请修改密码!");
-            }
-        }
+//        Date lastUpdateTime = user.getLastUpdateTime();
+//        if(lastUpdateTime!=null){
+//            LocalDate currentDate = LocalDate.now();
+//            Calendar calendar = Calendar.getInstance();
+//            calendar.setTime(lastUpdateTime);
+//            LocalDate newDate = LocalDate.of(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH)+1,calendar.get(Calendar.DAY_OF_MONTH));
+//            Period period = Period.between(newDate, currentDate);
+//            if (period.getMonths() >= 6) {
+//                throw new UserCheckAuthenticationException("用户最后一次修改密码的时间超过6个月,请修改密码!");
+//            }
+//        }
 
         if(!PhoneNumberUtil.isPhone(usernameUpper)){
             if (cache != null && cache.get(usernameUpper) != null && cache.get(usernameUpper).get()!=null) {
@@ -127,6 +127,50 @@ public class ToFlyUserDetailsService implements UserDetailsService {
         return userDetails;
     }
 
+    /**
+     * 多异构校验
+     * @param token
+     * @return
+     */
+    private String userTokenLoginDYG(String token){
+
+        MultiValueMap<String, String> requestHeader = new LinkedMultiValueMap<>();
+        token = token.toLowerCase(Locale.ROOT);
+        token =  token.replace("#","");
+
+//        requestHeader.add("Authorization", token);
+//        requestHeader.add(SecurityConstants.FROM,SecurityConstants.FROM_IN);
+        String url="https://tgdcepc.ctg.com.cn:8443/bimp/prod-api/auth/oauth/check_token";
+        //HttpEntity
+        // HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestHeader);
+        ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(HttpClients.createDefault());
+        RestTemplate restTemplate = new RestTemplate(requestFactory);
+        //post
+        String username =null;
+        //"http://192.168.2.235:7007/base/user/getUserInfo"
+        try {
+            log.info("token"+token);
+            final ResponseEntity<Map> mapResponseEntity =
+                    restTemplate.getForEntity(url+"?token="+token, Map.class);
+            final Map body = mapResponseEntity.getBody();
+
+            log.info("多异构获取到的body"+JSON.toJSONString(body));
+            log.info(JSON.toJSONString(body));
+
+            if(body!=null){
+                String dygUser = (String)body.get("user_name");
+                return dygUser;
+            }else{
+                log.error("多异构验证失败"+JSON.toJSONString(body));
+                throw new UsernameNotFoundException("多异构验证失败");
+            }
+
+        }catch (Exception  e){
+            e.printStackTrace();
+            log.error("账号或密码出现异常,请联系管理员",e);
+            throw new UsernameNotFoundException("账号或密码出现异常,请联系管理员");
+        }
+    }
     /**
      * 将用户设置为对应的oauth形式
      * @param userInfo
@@ -138,16 +182,16 @@ public class ToFlyUserDetailsService implements UserDetailsService {
             throw new UserCheckAuthenticationException("用户已处于禁用状态,不能登录");
         }
 
-        Date lockTime = user.getLockTime();
-        if(lockTime!=null && CommonConstants.USER_LOCK_LOCKED.equals(user.getLockFlag())){
-            long endTime = new Date().getTime();
-            long startTime = lockTime.getTime();
-            if(endTime-startTime>1000*60*60){
-                user.setPwderrtimes(Short.valueOf("0"));
-                user.setLockFlag(CommonConstants.USER_LOCK_UNLOCK);
-                SpringContextHolder.publishEvent(new UserLoginEvent(user));
-            }
-        }
+//        Date lockTime = user.getLockTime();
+//        if(lockTime!=null && CommonConstants.USER_LOCK_LOCKED.equals(user.getLockFlag())){
+//            long endTime = new Date().getTime();
+//            long startTime = lockTime.getTime();
+//            if(endTime-startTime>1000*60*60){
+//                user.setPwderrtimes(Short.valueOf("0"));
+//                user.setLockFlag(CommonConstants.USER_LOCK_UNLOCK);
+//                SpringContextHolder.publishEvent(new UserLoginEvent(user));
+//            }
+//        }
 
         if(CommonConstants.USER_LOCK_LOCKED.equals(user.getLockFlag())){
             throw new UserCheckAuthenticationException("账户已经被锁定,请联系管理人员,或者等待1小时后自动解锁");
@@ -188,92 +232,7 @@ public class ToFlyUserDetailsService implements UserDetailsService {
     }
 
 
-    private String userTokenLoginGis(String token){
 
-        MultiValueMap<String, String> requestHeader = new LinkedMultiValueMap<>();
-        token = token.toLowerCase(Locale.ROOT);
-        token =  token.replace("#","");
-        if(token.indexOf("bearer")==-1){
-            token = "bearer "+token;
-        }
-        requestHeader.add("Authorization", token);
-        requestHeader.add("systemid","tgbcepcbim");
-        requestHeader.add(SecurityConstants.FROM,SecurityConstants.FROM_IN);
-        Map<String, String> urlVariables = new HashMap<>();
-        urlVariables.put("systemid", "tgbcepcbim");
-        //HttpEntity
-        HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestHeader);
-
-        ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(HttpClients.createDefault());
-        RestTemplate restTemplate = new RestTemplate(requestFactory);
-        //post
-        String username =null;
-        //"http://192.168.2.235:7007/base/user/getUserInfo"
-        try {
-            final ResponseEntity<Map> mapResponseEntity =
-                    restTemplate.postForEntity(gisBimConfig.getTokenLoginUrl(), requestEntity, Map.class,urlVariables);
-            final Map body = mapResponseEntity.getBody();
-            log.info(JSON.toJSONString(body));
-            Map ma  = (Map)body.get("result");
-            if(ma!=null){
-                final String username1 = (String)ma.get("username");
-                return username1;
-            }else{
-                log.error("跳转gis失败"+JSON.toJSONString(ma));
-                throw new UsernameNotFoundException("跳转失败");
-            }
-
-        }catch (Exception  e){
-            e.printStackTrace();
-            log.error("账号或密码出现异常,请联系管理员",e);
-            throw new UsernameNotFoundException("账号或密码出现异常,请联系管理员");
-        }
-    }
-
-    /**
-     * 多异构校验
-     * @param token
-     * @return
-     */
-    private String userTokenLoginDYG(String token){
-
-        MultiValueMap<String, String> requestHeader = new LinkedMultiValueMap<>();
-        token = token.toLowerCase(Locale.ROOT);
-        token =  token.replace("#","");
-
-//        requestHeader.add("Authorization", token);
-//        requestHeader.add(SecurityConstants.FROM,SecurityConstants.FROM_IN);
-        String url="https://tgdcepc.ctg.com.cn:8443/bimp/prod-api/auth/oauth/check_token";
-        //HttpEntity
-        // HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestHeader);
-        ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(HttpClients.createDefault());
-        RestTemplate restTemplate = new RestTemplate(requestFactory);
-        //post
-        String username =null;
-        //"http://192.168.2.235:7007/base/user/getUserInfo"
-        try {
-            log.info("token"+token);
-            final ResponseEntity<Map> mapResponseEntity =
-                    restTemplate.getForEntity(url+"?token="+token, Map.class);
-            final Map body = mapResponseEntity.getBody();
-
-            log.info("多异构获取到的body"+JSON.toJSONString(body));
-            log.info(JSON.toJSONString(body));
-
-            if(body!=null){
-                String dygUser = (String)body.get("user_name");
-                return dygUser;
-            }else{
-                log.error("多异构验证失败"+JSON.toJSONString(body));
-                throw new UsernameNotFoundException("多异构验证失败");
-            }
-
-        }catch (Exception  e){
-            e.printStackTrace();
-            log.error("账号或密码出现异常,请联系管理员",e);
-            throw new UsernameNotFoundException("账号或密码出现异常,请联系管理员");
-        }
-    }
 
 
     private String useTokenLogin(String token){
@@ -287,15 +246,10 @@ public class ToFlyUserDetailsService implements UserDetailsService {
         HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestBody);
         ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(HttpClients.createDefault());
         RestTemplate restTemplate = new RestTemplate(requestFactory);
-
-
-        Map<String, String> urlVariables = new HashMap<>();
-        urlVariables.put("systemid", "tgbcepcbim");
-
         //post
         ResponseEntity<String> responseEntity=null;
         try {
-            responseEntity = restTemplate.postForEntity(mydeskConnectInfo.getGetUserInfoByToken()+"?token="+token+"&systemid="+"tgbcepcbim",requestEntity, String.class);
+            responseEntity = restTemplate.postForEntity(mydeskConnectInfo.getGetUserInfoByToken()+"?token="+token,requestEntity, String.class);
         }catch (Exception  e){
             e.printStackTrace();
             log.error("token useTokenLogin 账号或密码出现异常,请联系管理员",e);

+ 6 - 6
sxgk-projet/tofly-auth/src/main/java/com/tofly/auth/oauth/ToflyAuthenticationProvider.java

@@ -138,11 +138,11 @@ public class ToflyAuthenticationProvider implements AuthenticationProvider {
             paraMap.put("phoneNumber",username);
             username = userDetails.getUsername();
         }else{
-
-            ResultRespone<User> info2 = baseUserService.getUserInfoByName(username);
-            if(info2!=null&&info2.getResult()!=null){
-                paraMap.put("phoneNumber",info2.getResult().getPhone());
-            }
+//
+//            ResultRespone<User> info2 = baseUserService.getUserInfoByName(username);
+//            if(info2!=null&&info2.getResult()!=null){
+//                paraMap.put("phoneNumber",info2.getResult().getPhone());
+//            }
 
         }
         //获取请求的ip
@@ -235,7 +235,7 @@ public class ToflyAuthenticationProvider implements AuthenticationProvider {
         sysUser.setPwderrtimes(pwdt);
         if(pwdt>=5){
             sysUser.setLockFlag(CommonConstants.USER_LOCK_LOCKED);
-            sysUser.setLockTime(new Date());
+
         }
         //toflyUser.setPwderrtimes(pwdt);
         //cache.put(username,toflyUser);

+ 2 - 2
sxgk-projet/tofly-getway/pom.xml

@@ -3,9 +3,9 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
-        <artifactId>tofly-parent</artifactId>
         <groupId>com.tofly</groupId>
-        <version>1.0.0</version>
+        <artifactId>sxgkproject</artifactId>
+        <version>1.0-SNAPSHOT</version>
     </parent>
     <groupId>com.tofly</groupId>
     <artifactId>tofly-getway</artifactId>