List of usage examples for org.apache.shiro.web.filter.mgt PathMatchingFilterChainResolver getFilterChainManager
public FilterChainManager getFilterChainManager()
From source file:com.jfaker.framework.security.shiro.ShiroIniWebEnvironment.java
License:Apache License
public void init() { super.init(); FilterChainResolver resolver = getFilterChainResolver(); if (resolver != null && resolver instanceof PathMatchingFilterChainResolver) { PathMatchingFilterChainResolver pathResolver = (PathMatchingFilterChainResolver) resolver; ShiroPlugin.setFilterChainManager(pathResolver.getFilterChainManager()); }/* w w w. j av a 2s . co m*/ }
From source file:com.webarch.common.shiro.dynamic.DynamicPermissionServiceImpl.java
License:Apache License
private DefaultFilterChainManager getFilterChainManager() throws Exception { // ??/*from w ww . ja va 2s . co m*/ PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) shiroFilter .getFilterChainResolver(); DefaultFilterChainManager manager = (DefaultFilterChainManager) filterChainResolver.getFilterChainManager(); return manager; }
From source file:io.github.howiefh.jeews.modules.oauth2.controller.OAuthTest.java
License:Apache License
@Test public void testFilter() { AbstractShiroFilter shiroFilter = (AbstractShiroFilter) wac.getBean("shiroFilter"); PathMatchingFilterChainResolver resolver = (PathMatchingFilterChainResolver) shiroFilter .getFilterChainResolver();/*ww w. j a va 2 s . c o m*/ DefaultFilterChainManager fcManager = (DefaultFilterChainManager) resolver.getFilterChainManager(); NamedFilterList chain = fcManager.getChain("/users/**"); assertNotNull(chain); assertEquals(chain.size(), 2); Filter[] filters = new Filter[chain.size()]; filters = chain.toArray(filters); assertTrue(filters[1] instanceof TokenFilter); }
From source file:org.panifex.security.shiro.SecurityFilterImpl.java
License:Open Source License
/** * Returns a {@link Filter} registered to {@link FilterChainManager} with the * specified name. The default filter instances are typically named of the * {@link DefaultFilter} enum constant.//www .j a v a 2s. co m * * @param filterName the filter's name * @return the {@link Filter} registered with the specified name */ protected Filter getFilter(String filterName) { PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) getFilterChainResolver(); if (filterChainResolver != null) { FilterChainManager filterChainManager = filterChainResolver.getFilterChainManager(); Map<String, Filter> filters = filterChainManager.getFilters(); return filters.get(filterName); } return null; }
From source file:org.sonatype.security.web.guice.SecurityWebModuleTest.java
License:Open Source License
@Test public void testInjectionIsSetupCorrectly() { SecuritySystem securitySystem = injector.getInstance(SecuritySystem.class); SecurityManager securityManager = injector.getInstance(SecurityManager.class); RealmSecurityManager realmSecurityManager = (RealmSecurityManager) injector .getInstance(WebSecurityManager.class); assertThat(securitySystem.getSecurityManager(), sameInstance(securityManager)); assertThat(securitySystem.getSecurityManager(), sameInstance(realmSecurityManager)); assertThat(securityManager, instanceOf(DefaultWebSecurityManager.class)); DefaultSecurityManager defaultSecurityManager = (DefaultSecurityManager) securityManager; assertThat(defaultSecurityManager.getSessionManager(), instanceOf(DefaultWebSessionManager.class)); DefaultSessionManager sessionManager = (DefaultSessionManager) defaultSecurityManager.getSessionManager(); assertThat(sessionManager.getSessionDAO(), instanceOf(EnterpriseCacheSessionDAO.class)); SecurityWebFilter shiroFilter = injector.getInstance(SecurityWebFilter.class); assertThat(shiroFilter.getFilterChainResolver(), instanceOf(PathMatchingFilterChainResolver.class)); PathMatchingFilterChainResolver filterChainResolver = (PathMatchingFilterChainResolver) shiroFilter .getFilterChainResolver();// w ww .j a va 2s . c o m assertThat(filterChainResolver.getFilterChainManager(), instanceOf(DefaultFilterChainManager.class)); assertThat(filterChainResolver, sameInstance(injector.getInstance(FilterChainResolver.class))); // now add a protected path ProtectedPathManager protectedPathManager = injector.getInstance(ProtectedPathManager.class); protectedPathManager.addProtectedResource("/service/**", "foobar,perms[sample:priv-name]"); NamedFilterList filterList = filterChainResolver.getFilterChainManager().getChain("/service/**"); assertThat(filterList.get(0), instanceOf(SimpleAccessControlFilter.class)); assertThat(filterList.get(1), instanceOf(HttpMethodPermissionFilter.class)); }
From source file:org.workin.security.shiro.filter.authz.ShiroAuthorizationFilterChainManager.java
License:Apache License
@Override public void reloadFilterChainDefinitions() { AbstractShiroFilter shiroFilter = null; try {//from w w w . j a va 2s . co m 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); } } }