wangwei há 7 anos atrás
pai
commit
b6822aa8a7

+ 6 - 0
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/provider/DemoCloudServiceProvider.java

@@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
+import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.basic.api.DemoCloudService;
 import cn.com.qmth.examcloud.core.basic.api.request.GetXxxReq;
@@ -33,6 +34,11 @@ public class DemoCloudServiceProvider extends ControllerSupport implements DemoC
 		GetXxxResp resp = new GetXxxResp();
 		resp.setS("test");
 		redisClient.set("fuck", resp, 10);
+		User user = new User();
+		user.setId(110L);
+		user.setLoginName("sb");
+		user.setToken("abc");
+		redisClient.set("100", user, 600);
 		return resp;
 	}
 

+ 15 - 1
examcloud-core-basic-starter/src/main/java/cn/com/qmth/examcloud/core/basic/starter/config/DefaultWebMvcConfigurerAdapter.java

@@ -1,9 +1,13 @@
 package cn.com.qmth.examcloud.core.basic.starter.config;
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
+import cn.com.qmth.examcloud.commons.base.util.RegExpUtil;
+import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
 import cn.com.qmth.examcloud.commons.web.security.FirstInterceptor;
 import cn.com.qmth.examcloud.commons.web.security.RequestPermissionInterceptor;
 
@@ -17,10 +21,20 @@ import cn.com.qmth.examcloud.commons.web.security.RequestPermissionInterceptor;
 @Configuration
 public class DefaultWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
 
+	@Autowired
+	RedisClient redisClient;
+
 	@Override
 	public void addInterceptors(InterceptorRegistry registry) {
 		registry.addInterceptor(new FirstInterceptor()).addPathPatterns("/**");
-		registry.addInterceptor(new RequestPermissionInterceptor()).addPathPatterns("/**");
+		registry.addInterceptor(getRequestPermissionInterceptor()).addPathPatterns("/**");
 		super.addInterceptors(registry);
 	}
+
+	@Bean
+	public RequestPermissionInterceptor getRequestPermissionInterceptor() {
+		String[] exclusions = new String[]{
+				RegExpUtil.escape("[${$rmp}demo]:[getXxx,getYYY]:[POST]")};
+		return new RequestPermissionInterceptor(redisClient, exclusions);
+	}
 }