List of usage examples for org.apache.shiro.web.filter.mgt DefaultFilterChainManager getFilterChains
public Map<String, NamedFilterList> getFilterChains()
From source file:com.webarch.common.shiro.dynamic.DynamicPermissionServiceImpl.java
License:Apache License
public synchronized void reloadPermission() { logger.debug("reload?????"); try {/*from w w w . j a v a 2 s. c om*/ Map<String, String> pers = generateSection(); DefaultFilterChainManager manager = getFilterChainManager(); manager.getFilterChains().clear(); addToChain(manager, pers); } catch (Exception e) { logger.error("reload??????", e); } logger.debug("reload??????"); }
From source file:com.webarch.common.shiro.dynamic.DynamicPermissionServiceImpl.java
License:Apache License
private void addToChain(DefaultFilterChainManager manager, Map<String, String> definitions) throws Exception { if (definitions == null || CollectionUtils.isEmpty(definitions)) { return;//www. j ava2s. co m } ///**??? manager.getFilterChains().remove("/**"); for (Map.Entry<String, String> entry : definitions.entrySet()) { String url = entry.getKey(); String chainDefinition = entry.getValue().trim().replace(" ", ""); manager.createChain(url, chainDefinition); } }
From source file:org.workin.security.shiro.filter.authz.ShiroAuthorizationFilterChainManager.java
License:Apache License
@Override public void reloadFilterChainDefinitions() { AbstractShiroFilter shiroFilter = null; try {// w w w. j av a 2s . com shiroFilter = (AbstractShiroFilter) shiroFilterFactoryBean.getObject(); } catch (Exception e) { logger.error("getShiroFilter from shiroFilterFactoryBean error!", e); throw new RuntimeException("get ShiroFilter from shiroFilterFactoryBean error!"); } PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) shiroFilter .getFilterChainResolver(); DefaultFilterChainManager manager = (DefaultFilterChainManager) filterChainResolver.getFilterChainManager(); synchronized (lock) { /* ??/???? */ manager.getFilterChains().clear(); shiroFilterFactoryBean.getFilterChainDefinitionMap().clear(); shiroFilterFactoryBean.setFilterChainDefinitions(this.loadFilterChainDefinitions()); // ?? Map<String, String> chains = shiroFilterFactoryBean.getFilterChainDefinitionMap(); for (Map.Entry<String, String> entry : chains.entrySet()) { String url = entry.getKey(); String chainDefinition = StringUtils.trimAll(entry.getValue()); manager.createChain(url, chainDefinition); } } }