Package org.geoserver.security

Examples of org.geoserver.security.GeoServerSecurityFilterChain


    }

    boolean runSecurityFilters(HttpServletRequest req, HttpServletResponse res, String... chainNames)
        throws IOException, ServletException {
        final GeoServerSecurityManager secMgr = GeoServerExtensions.bean(GeoServerSecurityManager.class);
        GeoServerSecurityFilterChain secFilterChain =
            new GeoServerSecurityFilterChain(secMgr.getSecurityConfig().getFilterChain());

        List<Filter> filters = new ArrayList<Filter>();
        for (String chainName : chainNames) {
            RequestFilterChain reqFilterChain = secFilterChain.getRequestChainByName(chainName);
            filters.addAll(Lists.transform(reqFilterChain.getCompiledFilterNames(), new Function<String, Filter>() {
                @Override
                public Filter apply(@Nullable String s) {
                    try {
                        return secMgr.loadFilter(s);
View Full Code Here


        List<LogoutHandler> result = new ArrayList<LogoutHandler>();       
        SortedSet<String> logoutFilterNames = getSecurityManager().listFilters(LogoutHandler.class);
        logoutFilterNames.removeAll(Arrays.asList(skipHandlerName));
        Set<String> handlerNames = new HashSet<String>();
       
        GeoServerSecurityFilterChain chain = getSecurityManager().getSecurityConfig().getFilterChain();
        for (RequestFilterChain requestChain : chain.getRequestChains()) {
            for (String filterName : requestChain.getFilterNames()) {
                if (logoutFilterNames.contains(filterName))
                    handlerNames.add(filterName);
            }
        }
View Full Code Here

    public SecurityManagerConfig(SecurityManagerConfig config) {
        this.roleServiceName = config.getRoleServiceName();
        this.authProviderNames = config.getAuthProviderNames() != null ?
            new ArrayList<String>(config.getAuthProviderNames()) : null;
        this.filterChain = config.getFilterChain() != null ?
            new GeoServerSecurityFilterChain(config.getFilterChain()) : null;
        this.rememberMeService = new RememberMeServicesConfig(config.getRememberMeService());
        this.encryptingUrlParams = config.isEncryptingUrlParams();
        this.configPasswordEncrypterName = config.getConfigPasswordEncrypterName();
        //this.masterPasswordURL=config.getMasterPasswordURL();
        //this.masterPasswordStrategy=config.getMasterPasswordStrategy();
View Full Code Here

        //this.masterPasswordStrategy=config.getMasterPasswordStrategy();
    }

    private Object readResolve() {
        authProviderNames = authProviderNames != null ? authProviderNames : new ArrayList<String>();
        filterChain = filterChain != null ? filterChain : new GeoServerSecurityFilterChain();
        rememberMeService = rememberMeService != null ? rememberMeService : new RememberMeServicesConfig();
        return this;
    }
View Full Code Here

       getSecurityManager().saveSecurityConfig(config);
    }

    protected void prepareFilterChain(Class filterChainClass, String pattern, String... filterNames) throws Exception{
        SecurityManagerConfig config = getSecurityManager().getSecurityConfig();
        GeoServerSecurityFilterChain filterChain = config.getFilterChain();

        filterChain.removeForPattern(pattern);

        Constructor<?> cons = filterChainClass.getConstructor(new Class[] {                       
                String[].class });
        String[] args= new String[] {pattern};
        RequestFilterChain requestChain = (RequestFilterChain)cons.newInstance(new Object[] {args});       
        requestChain = new HtmlLoginFilterChain(pattern);
        requestChain.setName("testChain");
        requestChain.setFilterNames(filterNames);

        //insert before default
        filterChain.getRequestChains().add(filterChain.getRequestChains().size()-2, requestChain);

        getSecurityManager().saveSecurityConfig(config);
    }
View Full Code Here

//        } catch (SecurityConfigException ex){
//            assertEquals(FILTER_CHAIN_NULL_ERROR,ex.getId());
//            assertEquals(0,ex.getArgs().length);
//        }

        GeoServerSecurityFilterChain filterChain = new GeoServerSecurityFilterChain();
        config.setFilterChain(filterChain);
       
        ServiceLoginFilterChain chain = new ServiceLoginFilterChain();
        filterChain.getRequestChains().add(chain);
       
        try {
            validator.validateManagerConfig(config,new SecurityManagerConfig());
            fail("chain with no name should fail");
        } catch (SecurityConfigException ex){
View Full Code Here

                clones.add((RequestFilterChain)chain.clone());
            } catch (CloneNotSupportedException e) {
                throw new RuntimeException(e);
            }           
        }
        config.setFilterChain(new GeoServerSecurityFilterChain(clones));
       
        form = new Form("form",
            new CompoundPropertyModel<SecurityManagerConfig>(config));
        add(form);
View Full Code Here

        }
       
        // check the filter chain
       
       
        GeoServerSecurityFilterChain chain = config.getFilterChain();
        GeoServerSecurityFilterChain oldChain = oldConfig.getFilterChain();
        if (chain == null) {
            throw createSecurityException(SecurityConfigException.FILTER_CHAIN_NULL_ERROR);           
        }

        // check for remove
        for (RequestFilterChain oldRequestChain : oldChain.getRequestChains()) {
            if (chain.getRequestChainByName(oldRequestChain.getName())==null) {
                if (oldRequestChain.canBeRemoved()==false) {
                    throw createSecurityException(
                            SecurityConfigException.FILTER_CHAIN_NOT_REMOVEABLE_$1,oldRequestChain.getName());
                }
View Full Code Here

TOP

Related Classes of org.geoserver.security.GeoServerSecurityFilterChain

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.