List of usage examples for org.apache.shiro.web.filter.mgt FilterChainManager getFilters
Map<String, Filter> getFilters();
From source file:org.everit.osgi.authentication.shiro.simple.DefaultShiroFilter.java
License:Open Source License
public DefaultShiroFilter(final long globalSessionTimeout, final String shiroIniLocation, final Realm realm, final String casLoginUrl, final String casFailureUrl) { Ini ini = loadIni(shiroIniLocation); IniWebEnvironment iniWebEnvironment = new IniWebEnvironment() { @Override/*from w w w . j av a 2 s .c om*/ protected FilterChainResolver createFilterChainResolver() { FilterChainResolver filterChainResolver = super.createFilterChainResolver(); if (realm instanceof CasRealm) { if (filterChainResolver instanceof PathMatchingFilterChainResolver) { FilterChainManager filterChainManager = ((PathMatchingFilterChainResolver) filterChainResolver) .getFilterChainManager(); Map<String, Filter> filters = filterChainManager.getFilters(); for (Filter filter : filters.values()) { if (filter instanceof RolesAuthorizationFilter) { ((RolesAuthorizationFilter) filter).setLoginUrl(casLoginUrl); } } } } return filterChainResolver; } @Override protected WebSecurityManager createWebSecurityManager() { DefaultWebSessionManager defaultWebSessionManager = new DefaultWebSessionManager(); defaultWebSessionManager.setGlobalSessionTimeout(globalSessionTimeout); DefaultWebSecurityManager webSecurityManager = new DefaultWebSecurityManager(); webSecurityManager.setRealm(realm); webSecurityManager.setSessionManager(defaultWebSessionManager); if (realm instanceof CasRealm) { webSecurityManager.setSubjectFactory(new CasSubjectFactory()); CasFilter casFilter = new CasFilter(); casFilter.setFailureUrl(casFailureUrl); setObject("casFilter", casFilter); } return webSecurityManager; } }; iniWebEnvironment.setIni(ini); iniWebEnvironment.init(); WebSecurityManager securityManager = (WebSecurityManager) iniWebEnvironment.getSecurityManager(); setSecurityManager(securityManager); FilterChainResolver filterChainResolver = iniWebEnvironment.getFilterChainResolver(); setFilterChainResolver(filterChainResolver); }
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 va2 s . c o 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.panifex.security.shiro.SecurityFilterImplTest.java
License:Open Source License
private void expectGettingFilterWithName(Filter filter, String filterName) { // expect getting filterChainManager FilterChainManager filterChainManagerMock = createMock(FilterChainManager.class); expect(filterChainResolverMock.getFilterChainManager()).andReturn(filterChainManagerMock); // expect getting form authentication filters Map<String, Filter> filters = new HashMap<>(); filters.put(DefaultFilter.authc.toString(), filter); expect(filterChainManagerMock.getFilters()).andReturn(filters); }