|
@@ -1,7 +1,7 @@
|
|
package com.fdage.base.shiro.config;
|
|
package com.fdage.base.shiro.config;
|
|
|
|
|
|
|
|
|
|
-import com.fdage.base.shiro.jwt.JwtFilter;
|
|
|
|
|
|
+import com.fdage.base.shiro.filter.JwtFilter;
|
|
import com.fdage.base.shiro.realm.AppJwtRealm;
|
|
import com.fdage.base.shiro.realm.AppJwtRealm;
|
|
import com.fdage.base.shiro.realm.UserJwtRealm;
|
|
import com.fdage.base.shiro.realm.UserJwtRealm;
|
|
import fdage.back.sdk.base.shiro.enums.LoginType;
|
|
import fdage.back.sdk.base.shiro.enums.LoginType;
|
|
@@ -36,21 +36,20 @@ public class ShiroConfig {
|
|
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
|
|
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
|
|
shiroFilterFactoryBean.setSecurityManager(securityManager());
|
|
shiroFilterFactoryBean.setSecurityManager(securityManager());
|
|
Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
|
|
Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
|
|
- // 配置不会被拦截的链接 顺序判断
|
|
|
|
-// filterChainDefinitionMap.put("/**", "anon");
|
|
|
|
- // 添加自己的过滤器并且取名为jwt
|
|
|
|
|
|
+ //配置不会被拦截的链接 顺序判断 filterChainDefinitionMap.put("/**", "anon");
|
|
|
|
+ //自定义过滤器
|
|
Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
|
|
Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
|
|
filterMap.put("app_jwt", new JwtFilter(LoginType.APP.getType()));
|
|
filterMap.put("app_jwt", new JwtFilter(LoginType.APP.getType()));
|
|
filterMap.put("user_jwt", new JwtFilter(LoginType.USER.getType()));
|
|
filterMap.put("user_jwt", new JwtFilter(LoginType.USER.getType()));
|
|
shiroFilterFactoryBean.setFilters(filterMap);
|
|
shiroFilterFactoryBean.setFilters(filterMap);
|
|
//<!-- 过滤链定义,从上向下顺序执行,一般将/**放在最为下边
|
|
//<!-- 过滤链定义,从上向下顺序执行,一般将/**放在最为下边
|
|
|
|
+ //TODO:这里需要挪到配置文件中
|
|
filterChainDefinitionMap.put("/app/auth/wxLogin", "anon");
|
|
filterChainDefinitionMap.put("/app/auth/wxLogin", "anon");
|
|
filterChainDefinitionMap.put("/admin/**", "user_jwt");
|
|
filterChainDefinitionMap.put("/admin/**", "user_jwt");
|
|
filterChainDefinitionMap.put("/app/**", "app_jwt");
|
|
filterChainDefinitionMap.put("/app/**", "app_jwt");
|
|
//未授权界面;
|
|
//未授权界面;
|
|
shiroFilterFactoryBean.setUnauthorizedUrl("/403");
|
|
shiroFilterFactoryBean.setUnauthorizedUrl("/403");
|
|
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
|
|
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
|
|
-
|
|
|
|
return shiroFilterFactoryBean;
|
|
return shiroFilterFactoryBean;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -59,11 +58,9 @@ public class ShiroConfig {
|
|
List<Realm> realms = new ArrayList<>();
|
|
List<Realm> realms = new ArrayList<>();
|
|
realms.add(appJwtRealm);
|
|
realms.add(appJwtRealm);
|
|
realms.add(userJwtRealm);
|
|
realms.add(userJwtRealm);
|
|
-
|
|
|
|
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
|
|
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
|
|
//设置realm.
|
|
//设置realm.
|
|
securityManager.setAuthenticator(modularRealmAuthenticator());
|
|
securityManager.setAuthenticator(modularRealmAuthenticator());
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* 关闭shiro自带的session,详情见文档
|
|
* 关闭shiro自带的session,详情见文档
|
|
* http://shiro.apache.org/session-management.html#SessionManagement-StatelessApplications%28Sessionless%29
|
|
* http://shiro.apache.org/session-management.html#SessionManagement-StatelessApplications%28Sessionless%29
|