Răsfoiți Sursa

feat(national-motion): 添加 App 用户相关接口并优化 Shiro 配置

- 新增 AppUserController 类,用于处理 App 用户相关接口- 在 pom.xml 中添加微信小程序 SDK 依赖
- 移除不必要的依赖项
- 在 ShiroConfig 中添加 RememberMe 功能
SheepHy 3 săptămâni în urmă
părinte
comite
694a310f0e

+ 14 - 7
national-motion-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java

@@ -4,10 +4,12 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
 import org.apache.shiro.mgt.DefaultSessionStorageEvaluator;
 import org.apache.shiro.mgt.DefaultSubjectDAO;
+import org.apache.shiro.mgt.RememberMeManager;
 import org.apache.shiro.mgt.SecurityManager;
 import org.apache.shiro.spring.LifecycleBeanPostProcessor;
 import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
 import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.apache.shiro.web.mgt.CookieRememberMeManager;
 import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
 import org.crazycake.shiro.*;
 import org.jeecg.common.constant.CommonConstant;
@@ -17,17 +19,15 @@ import org.jeecg.config.shiro.filters.CustomShiroFilterFactoryBean;
 import org.jeecg.config.shiro.filters.JwtFilter;
 import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
 import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.context.annotation.*;
-import org.springframework.core.annotation.AnnotationUtils;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.DependsOn;
 import org.springframework.core.env.Environment;
-import org.springframework.core.type.filter.AnnotationTypeFilter;
 import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
-import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
 import org.springframework.web.filter.DelegatingFilterProxy;
 import redis.clients.jedis.HostAndPort;
 import redis.clients.jedis.JedisCluster;
@@ -35,7 +35,6 @@ import redis.clients.jedis.JedisCluster;
 import javax.annotation.Resource;
 import javax.servlet.DispatcherType;
 import javax.servlet.Filter;
-import java.lang.reflect.Method;
 import java.util.*;
 
 /**
@@ -232,6 +231,7 @@ public class ShiroConfig {
     @Bean("securityManager")
     public DefaultWebSecurityManager securityManager(ShiroRealm myRealm) {
         DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
+        securityManager.setRememberMeManager(rememberMeManager());
         securityManager.setRealm(myRealm);
 
         /*
@@ -295,6 +295,13 @@ public class ShiroConfig {
         redisCacheManager.setExpire(200000);
         return redisCacheManager;
     }
+    @Bean
+    public RememberMeManager rememberMeManager() {
+        CookieRememberMeManager manager = new CookieRememberMeManager();
+        // 设置固定密钥(Base64 编码格式)
+        manager.setCipherKey(Base64.getDecoder().decode("rU35IxMwkUE8b3dv/5C9sg=="));
+        return manager;
+    }
 
     /**
      * RedisConfig在项目starter项目中

+ 13 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/AppUserController.java

@@ -0,0 +1,13 @@
+package org.jeecg.modules.app.controller;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@Tag(name = "App用户相关接口")
+@RestController
+@RequestMapping("/app/user")
+public class AppUserController {
+}

+ 1 - 1
national-motion-module-system/national-motion-system-start/src/main/resources/application-dev.yml

@@ -177,7 +177,7 @@ mybatis-plus:
       table-underline: true
   configuration:
     # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
-    #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     # 返回类型为Map,显示null对应的字段
     call-setters-on-nulls: true
 #jeecg专用配置

+ 5 - 38
pom.xml

@@ -113,6 +113,11 @@
 	</repositories>
 
 	<dependencies>
+		<dependency>
+			<groupId>com.github.binarywang</groupId>
+			<artifactId>weixin-java-miniapp</artifactId>
+			<version>4.6.0</version>
+		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-test</artifactId>
@@ -192,12 +197,6 @@
 				<artifactId>national-motion-system-local-api</artifactId>
 				<version>${jeecgboot.version}</version>
 			</dependency>
-			<!-- system 微服务 api -->
-			<dependency>
-				<groupId>org.jeecgframework.boot</groupId>
-				<artifactId>national-motion-system-cloud-api</artifactId>
-				<version>${jeecgboot.version}</version>
-			</dependency>
 
             <!--微服务启动依赖-->
             <dependency>
@@ -250,38 +249,6 @@
 				<artifactId>hibernate-re</artifactId>
 				<version>3.8.0.2</version>
 			</dependency>
-
-			<!--mongon db-->
-			<dependency>
-				<groupId>org.jeecgframework.boot</groupId>
-				<artifactId>jeecg-boot-starter-mongon</artifactId>
-				<version>${jeecgboot.version}</version>
-			</dependency>
-
-			<!-- 七牛云SDK -->
-			<dependency>
-				<groupId>com.qiniu</groupId>
-				<artifactId>qiniu-java-sdk</artifactId>
-				<version>${qiniu-java-sdk.version}</version>
-				<exclusions>
-					<exclusion>
-						<artifactId>okhttp</artifactId>
-						<groupId>com.squareup.okhttp3</groupId>
-					</exclusion>
-				</exclusions>
-			</dependency>
-			<!-- 百度SDK (OCR) -->
-			<dependency>
-				<groupId>com.baidu.aip</groupId>
-				<artifactId>java-sdk</artifactId>
-				<version>${baidu-java-sdk.version}</version>
-				<exclusions>
-					<exclusion>
-						<groupId>org.slf4j</groupId>
-						<artifactId>slf4j-simple</artifactId>
-					</exclusion>
-				</exclusions>
-			</dependency>
 			<!-- dom4j -->
 			<dependency>
 				<groupId>dom4j</groupId>