|
@@ -5,9 +5,9 @@ import com.simuwang.base.components.ShiroLoginAuthAdapter;
|
|
|
import com.simuwang.base.components.ShiroRsaCredentialsMatcher;
|
|
|
import com.simuwang.base.components.UserAuthService;
|
|
|
import com.simuwang.shiro.core.ShiroDbRealm;
|
|
|
+import com.simuwang.shiro.core.ShiroDbRealmImpl;
|
|
|
import com.simuwang.shiro.core.adapter.LoginAuthAdapter;
|
|
|
import com.simuwang.shiro.core.bridge.AuthBridgeService;
|
|
|
-import com.simuwang.shiro.core.ShiroDbRealmImpl;
|
|
|
import com.simuwang.shiro.core.jwt.JwtContext;
|
|
|
import com.simuwang.shiro.core.jwt.JwtFilter;
|
|
|
import jakarta.servlet.Filter;
|
|
@@ -24,6 +24,7 @@ import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.context.annotation.DependsOn;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
@Configuration
|
|
@@ -140,25 +141,6 @@ public class ShiroConfig {
|
|
|
return new AuthorizationAttributeSourceAdvisor();
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 过滤器链
|
|
|
- */
|
|
|
- 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/**", "jwt");
|
|
|
- map.put("/**", "jwt");
|
|
|
- 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));
|
|
@@ -173,7 +155,13 @@ public class ShiroConfig {
|
|
|
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
|
|
|
shiroFilter.setSecurityManager(this.defaultWebSecurityManager());
|
|
|
shiroFilter.setFilters(this.filterMap());
|
|
|
- shiroFilter.setFilterChainDefinitionMap(this.filterChainDefinition());
|
|
|
+ // 过滤器链配置
|
|
|
+ Map<String, String> map = MapUtil.newHashMap(16, true);
|
|
|
+ List<DaqProperties.FilterChain> shiroFilterChain = this.properties.getShiroFilterChain();
|
|
|
+ for (DaqProperties.FilterChain filterChain : shiroFilterChain) {
|
|
|
+ map.put(filterChain.getPath(), String.join(",", filterChain.getFilters()));
|
|
|
+ }
|
|
|
+ shiroFilter.setFilterChainDefinitionMap(map);
|
|
|
// 去掉,防止404路由自动跳转到登录请求
|
|
|
// shiroFilter.setLoginUrl("/v1/login");
|
|
|
// shiroFilter.setUnauthorizedUrl("/v1/login");
|