|
@@ -23,8 +23,7 @@ import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.context.annotation.DependsOn;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-import java.util.List;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@Configuration
|
|
@@ -116,9 +115,7 @@ public class ShiroConfig {
|
|
|
sessionManager.setSessionValidationSchedulerEnabled(false);
|
|
|
sessionManager.setSessionIdCookieEnabled(true);
|
|
|
sessionManager.setSessionIdCookie(simpleCookie());
|
|
|
- // session 超时时间
|
|
|
- long timeout = this.properties.getTokenExpire() * 60 * 1000L;
|
|
|
- sessionManager.setGlobalSessionTimeout(timeout);
|
|
|
+ sessionManager.setGlobalSessionTimeout(3600000);
|
|
|
return sessionManager;
|
|
|
}
|
|
|
|
|
@@ -144,23 +141,39 @@ public class ShiroConfig {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 过滤器链
|
|
|
+ */
|
|
|
+ private Map<String, String> filterChainDefinition() {
|
|
|
+ Map<String, String> map = MapUtil.newHashMap(20, true);
|
|
|
+ map.put("/static/**", "anon");
|
|
|
+ map.put("/v1/test/**", "anon");
|
|
|
+ map.put("/v1/login", "anon");
|
|
|
+ map.put("/v1/rsa-key", "anon");
|
|
|
+ map.put("/v1/**", "anon");
|
|
|
+ map.put("/**", "anon");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+// @Bean
|
|
|
+// public JwtContext jwtUtil() {
|
|
|
+// return new JwtContext(this.properties);
|
|
|
+// }
|
|
|
+
|
|
|
+ private Map<String, Filter> filterMap() {
|
|
|
+ HashMap<String, Filter> map = MapUtil.newHashMap();
|
|
|
+ map.put("jwt", new JwtFilter(this.properties, this.jwtContext));
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* Shiro过滤器
|
|
|
*/
|
|
|
@Bean("shiroFilter")
|
|
|
public ShiroFilterFactoryBean shiroFilterFactoryBean() {
|
|
|
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
|
|
|
shiroFilter.setSecurityManager(this.defaultWebSecurityManager());
|
|
|
- // 新增过滤器
|
|
|
- Map<String, Filter> filterMap = MapUtil.newHashMap(true);
|
|
|
- filterMap.put("jwt", new JwtFilter(this.jwtContext));
|
|
|
- shiroFilter.setFilters(filterMap);
|
|
|
- // 过滤器链配置
|
|
|
- Map<String, String> filterChainMap = MapUtil.newHashMap(16, true);
|
|
|
- List<DaqProperties.FilterChain> shiroFilterChain = this.properties.getShiroFilterChain();
|
|
|
- for (DaqProperties.FilterChain filterChain : shiroFilterChain) {
|
|
|
- filterChainMap.put(filterChain.getPath(), String.join(",", filterChain.getFilters()));
|
|
|
- }
|
|
|
- shiroFilter.setFilterChainDefinitionMap(filterChainMap);
|
|
|
+ shiroFilter.setFilters(this.filterMap());
|
|
|
+ shiroFilter.setFilterChainDefinitionMap(this.filterChainDefinition());
|
|
|
// 去掉,防止404路由自动跳转到登录请求
|
|
|
// shiroFilter.setLoginUrl("/v1/login");
|
|
|
// shiroFilter.setUnauthorizedUrl("/v1/login");
|