public PathConfiguration(String groupName, String uri, Boolean secured, Set<HttpMethod> methods, List<OutboundRedirectConfiguration> redirects) { if (groupName == null && uri == null) { throw new HttpSecurityConfigurationException("You must provide a group name or uri. Or even both."); } this.groupName = groupName; this.uri = uri; this.secured = secured; if (methods != null && !methods.isEmpty()) { this.methods = methods; } else { this.methods = new HashSet(Arrays.asList(HttpMethod.values())); } if (redirects == null) { redirects = emptyList(); } this.redirects = redirects; }
public PathConfiguration(String groupName, String uri, Boolean secured, Set<HttpMethod> methods, List<OutboundRedirectConfiguration> redirects) { if (groupName == null && uri == null) { throw new HttpSecurityConfigurationException("You must provide a group name or uri. Or even both."); } this.groupName = groupName; this.uri = uri; this.secured = secured; if (methods != null && !methods.isEmpty()) { this.methods = methods; } else { this.methods = new HashSet(Arrays.asList(HttpMethod.values())); } if (redirects == null) { redirects = emptyList(); } this.redirects = redirects; }
public PathConfiguration(String groupName, String uri, Boolean secured, Set<HttpMethod> methods, List<OutboundRedirectConfiguration> redirects) { if (groupName == null && uri == null) { throw new HttpSecurityConfigurationException("You must provide a group name or uri. Or even both."); } this.groupName = groupName; this.uri = uri; this.secured = secured; if (methods != null && !methods.isEmpty()) { this.methods = methods; } else { this.methods = new HashSet(Arrays.asList(HttpMethod.values())); } if (redirects == null) { redirects = emptyList(); } this.redirects = redirects; }
public HttpSecurityConfiguration(List<PathConfiguration> uriConfigs, FilteringMode filteringMode) { for (PathConfiguration configuration : uriConfigs) { configuration.setSecurityConfiguration(this); if (configuration.isGroup()) { String groupName = configuration.getGroupName(); if (this.groupConfiguration.containsKey(groupName)) { throw new HttpSecurityConfigurationException("Duplicated Group[" + groupName + "] configuration."); } this.groupConfiguration.put(groupName, configuration); } else { String uri = configuration.getUri(); List<PathConfiguration> configurations = this.uriConfiguration.get(uri); if (configurations == null) { configurations = new ArrayList<PathConfiguration>(); this.uriConfiguration.put(uri, configurations); } configurations.add(configuration); } } validate(); if (filteringMode == null) { filteringMode = FilteringMode.PERMISSIVE; } this.filteringMode = filteringMode; }
public HttpSecurityConfiguration(List<PathConfiguration> uriConfigs, FilteringMode filteringMode) { for (PathConfiguration configuration : uriConfigs) { configuration.setSecurityConfiguration(this); if (configuration.isGroup()) { String groupName = configuration.getGroupName(); if (this.groupConfiguration.containsKey(groupName)) { throw new HttpSecurityConfigurationException("Duplicated Group[" + groupName + "] configuration."); } this.groupConfiguration.put(groupName, configuration); } else { String uri = configuration.getUri(); List<PathConfiguration> configurations = this.uriConfiguration.get(uri); if (configurations == null) { configurations = new ArrayList<PathConfiguration>(); this.uriConfiguration.put(uri, configurations); } configurations.add(configuration); } } validate(); if (filteringMode == null) { filteringMode = FilteringMode.PERMISSIVE; } this.filteringMode = filteringMode; }
public HttpSecurityConfiguration(List<PathConfiguration> uriConfigs, FilteringMode filteringMode) { for (PathConfiguration configuration : uriConfigs) { configuration.setSecurityConfiguration(this); if (configuration.isGroup()) { String groupName = configuration.getGroupName(); if (this.groupConfiguration.containsKey(groupName)) { throw new HttpSecurityConfigurationException("Duplicated Group[" + groupName + "] configuration."); } this.groupConfiguration.put(groupName, configuration); } else { String uri = configuration.getUri(); List<PathConfiguration> configurations = this.uriConfiguration.get(uri); if (configurations == null) { configurations = new ArrayList<PathConfiguration>(); this.uriConfiguration.put(uri, configurations); } configurations.add(configuration); } } validate(); if (filteringMode == null) { filteringMode = FilteringMode.PERMISSIVE; } this.filteringMode = filteringMode; }
authcSchemeType = customAuthcConfig.getSchemeType(); } else { throw new HttpSecurityConfigurationException("Unexpected Authentication Scheme configuration [" + authSchemeConfiguration + "].");
authcSchemeType = customAuthcConfig.getSchemeType(); } else { throw new HttpSecurityConfigurationException("Unexpected Authentication Scheme configuration [" + authSchemeConfiguration + "].");
authcSchemeType = customAuthcConfig.getSchemeType(); } else { throw new HttpSecurityConfigurationException("Unexpected Authentication Scheme configuration [" + authSchemeConfiguration + "].");
private void initializePathAuthorizers() { for (List<PathConfiguration> configurations : this.configuration.getPaths().values()) { for (PathConfiguration pathConfiguration : configurations) { if (pathConfiguration.isSecured()) { AuthorizationConfiguration authorizationConfiguration = pathConfiguration.getAuthorizationConfiguration(); if (authorizationConfiguration != null) { List<PathAuthorizer> pathAuthorizers = new ArrayList<PathAuthorizer>(); List<Class<? extends PathAuthorizer>> pathAuthorizerTypes = new ArrayList<Class<? extends PathAuthorizer>>( authorizationConfiguration.getAuthorizers()); pathAuthorizerTypes.addAll(getDefaultPathAuthorizers()); for (Class<? extends PathAuthorizer> authorizerType : pathAuthorizerTypes) { try { pathAuthorizers.add(resolveInstance(this.pathAuthorizerInstance, authorizerType)); } catch (Exception e) { throw new HttpSecurityConfigurationException("Could not resolve PathAuthorizer [" + authorizerType + "].", e); } } this.pathAuthorizers.put(pathConfiguration, pathAuthorizers); } } } } }
private void initializePathAuthorizers() { for (List<PathConfiguration> configurations : this.configuration.getPaths().values()) { for (PathConfiguration pathConfiguration : configurations) { if (pathConfiguration.isSecured()) { AuthorizationConfiguration authorizationConfiguration = pathConfiguration.getAuthorizationConfiguration(); if (authorizationConfiguration != null) { List<PathAuthorizer> pathAuthorizers = new ArrayList<PathAuthorizer>(); List<Class<? extends PathAuthorizer>> pathAuthorizerTypes = new ArrayList<Class<? extends PathAuthorizer>>( authorizationConfiguration.getAuthorizers()); pathAuthorizerTypes.addAll(getDefaultPathAuthorizers()); for (Class<? extends PathAuthorizer> authorizerType : pathAuthorizerTypes) { try { pathAuthorizers.add(resolveInstance(this.pathAuthorizerInstance, authorizerType)); } catch (Exception e) { throw new HttpSecurityConfigurationException("Could not resolve PathAuthorizer [" + authorizerType + "].", e); } } this.pathAuthorizers.put(pathConfiguration, pathAuthorizers); } } } } }
private void initializePathAuthorizers() { for (List<PathConfiguration> configurations : this.configuration.getPaths().values()) { for (PathConfiguration pathConfiguration : configurations) { if (pathConfiguration.isSecured()) { AuthorizationConfiguration authorizationConfiguration = pathConfiguration.getAuthorizationConfiguration(); if (authorizationConfiguration != null) { List<PathAuthorizer> pathAuthorizers = new ArrayList<PathAuthorizer>(); List<Class<? extends PathAuthorizer>> pathAuthorizerTypes = new ArrayList<Class<? extends PathAuthorizer>>( authorizationConfiguration.getAuthorizers()); pathAuthorizerTypes.addAll(getDefaultPathAuthorizers()); for (Class<? extends PathAuthorizer> authorizerType : pathAuthorizerTypes) { try { pathAuthorizers.add(resolveInstance(this.pathAuthorizerInstance, authorizerType)); } catch (Exception e) { throw new HttpSecurityConfigurationException("Could not resolve PathAuthorizer [" + authorizerType + "].", e); } } this.pathAuthorizers.put(pathConfiguration, pathAuthorizers); } } } } }
private void validate() { if (this.uriConfiguration.isEmpty()) { throw new HttpSecurityConfigurationException("No URI configuration is defined. You must provide at least one URI to protect."); } for (List<PathConfiguration> configurations : this.uriConfiguration.values()) { for (PathConfiguration configuration : configurations) { if (!configuration.isGroup()) { String groupName = configuration.getGroupName(); if (!this.groupConfiguration.containsKey(groupName) && !configuration.isDefaultGroup()) { throw new HttpSecurityConfigurationException("Group [" + groupName + "] for URI [" + configuration .getUri() + "] is not defined."); } } if (configuration.isSecured() && ((configuration == null) || ((configuration != null && configuration.getAuthenticationConfiguration() == null) && (configuration == null && configuration.getAuthorizationConfiguration() == null) && (configuration == null && configuration.getLogoutConfiguration() == null) && (configuration == null && configuration.getMethods() == null || configuration.getMethods().isEmpty()) && (configuration.getRedirects().isEmpty())))) { throw new HttpSecurityConfigurationException("You must provide an authentication, authorization or logout configuration for URI [" + configuration.getUri() + "]."); } } } }
private void validate() { if (this.uriConfiguration.isEmpty()) { throw new HttpSecurityConfigurationException("No URI configuration is defined. You must provide at least one URI to protect."); } for (List<PathConfiguration> configurations : this.uriConfiguration.values()) { for (PathConfiguration configuration : configurations) { if (!configuration.isGroup()) { String groupName = configuration.getGroupName(); if (!this.groupConfiguration.containsKey(groupName) && !configuration.isDefaultGroup()) { throw new HttpSecurityConfigurationException("Group [" + groupName + "] for URI [" + configuration .getUri() + "] is not defined."); } } if (configuration.isSecured() && ((configuration == null) || ((configuration != null && configuration.getAuthenticationConfiguration() == null) && (configuration == null && configuration.getAuthorizationConfiguration() == null) && (configuration == null && configuration.getLogoutConfiguration() == null) && (configuration == null && configuration.getMethods() == null || configuration.getMethods().isEmpty()) && (configuration.getRedirects().isEmpty())))) { throw new HttpSecurityConfigurationException("You must provide an authentication, authorization or logout configuration for URI [" + configuration.getUri() + "]."); } } } }
private void validate() { if (this.uriConfiguration.isEmpty()) { throw new HttpSecurityConfigurationException("No URI configuration is defined. You must provide at least one URI to protect."); } for (List<PathConfiguration> configurations : this.uriConfiguration.values()) { for (PathConfiguration configuration : configurations) { if (!configuration.isGroup()) { String groupName = configuration.getGroupName(); if (!this.groupConfiguration.containsKey(groupName) && !configuration.isDefaultGroup()) { throw new HttpSecurityConfigurationException("Group [" + groupName + "] for URI [" + configuration .getUri() + "] is not defined."); } } if (configuration.isSecured() && ((configuration == null) || ((configuration != null && configuration.getAuthenticationConfiguration() == null) && (configuration == null && configuration.getAuthorizationConfiguration() == null) && (configuration == null && configuration.getLogoutConfiguration() == null) && (configuration == null && configuration.getMethods() == null || configuration.getMethods().isEmpty()) && (configuration.getRedirects().isEmpty())))) { throw new HttpSecurityConfigurationException("You must provide an authentication, authorization or logout configuration for URI [" + configuration.getUri() + "]."); } } } }
private void initializeAuthenticationSchemes() { for (List<PathConfiguration> configurations : this.configuration.getPaths().values()) { for (PathConfiguration pathConfiguration : configurations) { if (pathConfiguration.isSecured()) { HttpAuthenticationScheme authenticationScheme = getAuthenticationScheme(pathConfiguration, null); if (authenticationScheme != null) { AuthenticationConfiguration authcConfig = pathConfiguration.getAuthenticationConfiguration(); AuthenticationSchemeConfiguration authcSchemeConfig = authcConfig .getAuthenticationSchemeConfiguration(); if (!CustomAuthenticationConfiguration.class.isInstance(authcSchemeConfig)) { try { authenticationScheme.initialize(authcSchemeConfig); } catch (Exception e) { throw new HttpSecurityConfigurationException( "Could not initialize Http Authentication Scheme [" + authenticationScheme + "].", e); } } } } } } }
private void initializeAuthenticationSchemes() { for (List<PathConfiguration> configurations : this.configuration.getPaths().values()) { for (PathConfiguration pathConfiguration : configurations) { if (pathConfiguration.isSecured()) { HttpAuthenticationScheme authenticationScheme = getAuthenticationScheme(pathConfiguration, null); if (authenticationScheme != null) { AuthenticationConfiguration authcConfig = pathConfiguration.getAuthenticationConfiguration(); AuthenticationSchemeConfiguration authcSchemeConfig = authcConfig .getAuthenticationSchemeConfiguration(); if (!CustomAuthenticationConfiguration.class.isInstance(authcSchemeConfig)) { try { authenticationScheme.initialize(authcSchemeConfig); } catch (Exception e) { throw new HttpSecurityConfigurationException( "Could not initialize Http Authentication Scheme [" + authenticationScheme + "].", e); } } } } } } }
private void initializeAuthenticationSchemes() { for (List<PathConfiguration> configurations : this.configuration.getPaths().values()) { for (PathConfiguration pathConfiguration : configurations) { if (pathConfiguration.isSecured()) { HttpAuthenticationScheme authenticationScheme = getAuthenticationScheme(pathConfiguration, null); if (authenticationScheme != null) { AuthenticationConfiguration authcConfig = pathConfiguration.getAuthenticationConfiguration(); AuthenticationSchemeConfiguration authcSchemeConfig = authcConfig .getAuthenticationSchemeConfiguration(); if (!CustomAuthenticationConfiguration.class.isInstance(authcSchemeConfig)) { try { authenticationScheme.initialize(authcSchemeConfig); } catch (Exception e) { throw new HttpSecurityConfigurationException( "Could not initialize Http Authentication Scheme [" + authenticationScheme + "].", e); } } } } } } }
@Override public void init(FilterConfig config) throws ServletException { SecurityConfigurationBuilder configurationBuilder = this.picketLinkExtension.getSecurityConfigurationBuilder(); SecurityConfiguration securityConfiguration = configurationBuilder.build(); this.configuration = securityConfiguration.getHttpSecurityConfiguration(); if (this.configuration == null) { throw new HttpSecurityConfigurationException("No configuration provided."); } initializePathMatcher(); initializeAuthenticationSchemes(); initializePathAuthorizers(); }
@Override public void init(FilterConfig config) throws ServletException { SecurityConfigurationBuilder configurationBuilder = this.picketLinkExtension.getSecurityConfigurationBuilder(); SecurityConfiguration securityConfiguration = configurationBuilder.build(); this.configuration = securityConfiguration.getHttpSecurityConfiguration(); if (this.configuration == null) { throw new HttpSecurityConfigurationException("No configuration provided."); } initializePathMatcher(); initializeAuthenticationSchemes(); initializePathAuthorizers(); }