feng_ting-ting 2 months ago
parent
commit
cb8df584ef

+ 12 - 7
XiaoETech-admin/pom.xml

@@ -24,6 +24,11 @@
             <optional>true</optional> <!-- 表示依赖不会传递 -->
             <optional>true</optional> <!-- 表示依赖不会传递 -->
         </dependency>
         </dependency>
 
 
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+        </dependency>
+
         <!-- swagger3-->
         <!-- swagger3-->
         <dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <groupId>io.springfox</groupId>
@@ -80,17 +85,17 @@
                     </execution>
                     </execution>
                 </executions>
                 </executions>
             </plugin>
             </plugin>
-            <plugin>   
-                <groupId>org.apache.maven.plugins</groupId>   
-                <artifactId>maven-war-plugin</artifactId>   
-                <version>3.1.0</version>   
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <version>3.1.0</version>
                 <configuration>
                 <configuration>
                     <failOnMissingWebXml>false</failOnMissingWebXml>
                     <failOnMissingWebXml>false</failOnMissingWebXml>
                     <warName>${project.artifactId}</warName>
                     <warName>${project.artifactId}</warName>
-                </configuration>   
-           </plugin>   
+                </configuration>
+           </plugin>
         </plugins>
         </plugins>
         <finalName>${project.artifactId}</finalName>
         <finalName>${project.artifactId}</finalName>
     </build>
     </build>
 
 
-</project>
+</project>

+ 2 - 2
XiaoETech-admin/src/main/java/com/zhentao/web/controller/common/CaptchaController.java

@@ -22,7 +22,7 @@ import com.zhentao.system.service.ISysConfigService;
 
 
 /**
 /**
  * 验证码操作处理
  * 验证码操作处理
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
 @RestController
 @RestController
@@ -36,7 +36,7 @@ public class CaptchaController
 
 
     @Autowired
     @Autowired
     private RedisCache redisCache;
     private RedisCache redisCache;
-    
+
     @Autowired
     @Autowired
     private ISysConfigService configService;
     private ISysConfigService configService;
     /**
     /**

+ 19 - 24
XiaoETech-admin/src/main/java/com/zhentao/web/controller/system/SysLoginController.java

@@ -1,47 +1,38 @@
 package com.zhentao.web.controller.system;
 package com.zhentao.web.controller.system;
 
 
-import java.io.UnsupportedEncodingException;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.security.spec.AlgorithmParameterSpec;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.zhentao.common.config.WxAppConfig;
 import com.zhentao.common.config.WxAppConfig;
-import com.zhentao.common.core.domain.model.WxLoginBody;
-import com.zhentao.common.utils.StringUtils;
-import com.zhentao.common.utils.sign.Base64;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.session.SessionInformation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
 import com.zhentao.common.constant.Constants;
 import com.zhentao.common.constant.Constants;
 import com.zhentao.common.core.domain.AjaxResult;
 import com.zhentao.common.core.domain.AjaxResult;
 import com.zhentao.common.core.domain.entity.SysMenu;
 import com.zhentao.common.core.domain.entity.SysMenu;
 import com.zhentao.common.core.domain.entity.SysUser;
 import com.zhentao.common.core.domain.entity.SysUser;
 import com.zhentao.common.core.domain.model.LoginBody;
 import com.zhentao.common.core.domain.model.LoginBody;
 import com.zhentao.common.core.domain.model.LoginUser;
 import com.zhentao.common.core.domain.model.LoginUser;
+import com.zhentao.common.core.domain.model.WxLoginBody;
 import com.zhentao.common.utils.SecurityUtils;
 import com.zhentao.common.utils.SecurityUtils;
+import com.zhentao.common.utils.StringUtils;
+import com.zhentao.common.utils.sign.Base64;
 import com.zhentao.framework.web.service.SysLoginService;
 import com.zhentao.framework.web.service.SysLoginService;
 import com.zhentao.framework.web.service.SysPermissionService;
 import com.zhentao.framework.web.service.SysPermissionService;
 import com.zhentao.framework.web.service.TokenService;
 import com.zhentao.framework.web.service.TokenService;
 import com.zhentao.system.service.ISysMenuService;
 import com.zhentao.system.service.ISysMenuService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.client.RestTemplate;
 
 
-import javax.crypto.BadPaddingException;
 import javax.crypto.Cipher;
 import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 import javax.crypto.spec.SecretKeySpec;
+import java.security.spec.AlgorithmParameterSpec;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
 
 
 /**
 /**
  * 登录验证
  * 登录验证
@@ -103,6 +94,7 @@ public class SysLoginController
             // 如果解析成功, 获取token
             // 如果解析成功, 获取token
             String token = loginService.wxLogin(decryptResult);
             String token = loginService.wxLogin(decryptResult);
             AjaxResult ajax = AjaxResult.success();
             AjaxResult ajax = AjaxResult.success();
+            ajax.put(Constants.TOKEN, token);
             return ajax;
             return ajax;
         }else{
         }else{
             return AjaxResult.error("微信登录失败");
             return AjaxResult.error("微信登录失败");
@@ -185,12 +177,15 @@ public class SysLoginController
     public AjaxResult getInfo()
     public AjaxResult getInfo()
     {
     {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         LoginUser loginUser = SecurityUtils.getLoginUser();
+        if (loginUser == null) {
+            return AjaxResult.error("未获取到登录用户信息");
+        }
         SysUser user = loginUser.getUser();
         SysUser user = loginUser.getUser();
         // 角色集合
         // 角色集合
         Set<String> roles = permissionService.getRolePermission(user);
         Set<String> roles = permissionService.getRolePermission(user);
         // 权限集合
         // 权限集合
         Set<String> permissions = permissionService.getMenuPermission(user);
         Set<String> permissions = permissionService.getMenuPermission(user);
-        if (!loginUser.getPermissions().equals(permissions))
+        if (loginUser.getPermissions() != null && !loginUser.getPermissions().equals(permissions))
         {
         {
             loginUser.setPermissions(permissions);
             loginUser.setPermissions(permissions);
             tokenService.refreshToken(loginUser);
             tokenService.refreshToken(loginUser);

+ 2 - 0
XiaoETech-admin/src/main/resources/application.yml

@@ -20,6 +20,8 @@ server:
   servlet:
   servlet:
     # 应用的访问路径
     # 应用的访问路径
     context-path: /
     context-path: /
+    session:
+      timeout: 30m  # 会话超时时间为30分钟
   tomcat:
   tomcat:
     # tomcat的URI编码
     # tomcat的URI编码
     uri-encoding: UTF-8
     uri-encoding: UTF-8

+ 8 - 6
XiaoETech-framework/src/main/java/com/zhentao/framework/config/ResourcesConfig.java

@@ -1,6 +1,8 @@
 package com.zhentao.framework.config;
 package com.zhentao.framework.config;
 
 
-import java.util.concurrent.TimeUnit;
+import com.zhentao.common.config.RuoYiConfig;
+import com.zhentao.common.constant.Constants;
+import com.zhentao.framework.interceptor.RepeatSubmitInterceptor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Configuration;
@@ -11,13 +13,12 @@ import org.springframework.web.filter.CorsFilter;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import com.zhentao.common.config.RuoYiConfig;
-import com.zhentao.common.constant.Constants;
-import com.zhentao.framework.interceptor.RepeatSubmitInterceptor;
+
+import java.util.concurrent.TimeUnit;
 
 
 /**
 /**
  * 通用配置
  * 通用配置
- * 
+ *
  * @author ruoyi
  * @author ruoyi
  */
  */
 @Configuration
 @Configuration
@@ -55,6 +56,7 @@ public class ResourcesConfig implements WebMvcConfigurer
     public CorsFilter corsFilter()
     public CorsFilter corsFilter()
     {
     {
         CorsConfiguration config = new CorsConfiguration();
         CorsConfiguration config = new CorsConfiguration();
+        config.setAllowCredentials(true);
         // 设置访问源地址
         // 设置访问源地址
         config.addAllowedOriginPattern("*");
         config.addAllowedOriginPattern("*");
         // 设置访问源请求头
         // 设置访问源请求头
@@ -69,4 +71,4 @@ public class ResourcesConfig implements WebMvcConfigurer
         // 返回新的CorsFilter
         // 返回新的CorsFilter
         return new CorsFilter(source);
         return new CorsFilter(source);
     }
     }
-}
+}

+ 5 - 4
XiaoETech-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -125,6 +125,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		where u.user_name = #{userName} and u.del_flag = '0'
 		where u.user_name = #{userName} and u.del_flag = '0'
 	</select>
 	</select>
 
 
+	<select id="selectWxUserByOpenId" parameterType="string" resultMap="SysUserResult">
+		<include refid="selectUserVo"/>
+		where u.open_id = #{openId} and u.del_flag = '0'
+	</select>
+
 	<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
 	<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
 		<include refid="selectUserVo"/>
 		<include refid="selectUserVo"/>
 		where u.user_id = #{userId}
 		where u.user_id = #{userId}
@@ -141,10 +146,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
 		select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
 	</select>
 	</select>
-    <select id="selectWxUserByOpenId" parameterType="string" resultMap="SysUserResult">
-		<include refid="selectUserVo"/>
-		where u.open_id = #{openId} and u.del_flag = '0'
-	</select>
 
 
     <insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
     <insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
  		insert into sys_user(
  		insert into sys_user(