/** * Gets the {@link J2eePreAuthenticatedProcessingFilter} or creates a default instance * using the properties provided. * @param authenticationManager the {@link AuthenticationManager} to use. * @return the {@link J2eePreAuthenticatedProcessingFilter} to use. */ private J2eePreAuthenticatedProcessingFilter getFilter( AuthenticationManager authenticationManager) { if (j2eePreAuthenticatedProcessingFilter == null) { j2eePreAuthenticatedProcessingFilter = new J2eePreAuthenticatedProcessingFilter(); j2eePreAuthenticatedProcessingFilter .setAuthenticationManager(authenticationManager); j2eePreAuthenticatedProcessingFilter .setAuthenticationDetailsSource(createWebAuthenticationDetailsSource()); j2eePreAuthenticatedProcessingFilter = postProcess(j2eePreAuthenticatedProcessingFilter); } return j2eePreAuthenticatedProcessingFilter; }
/** * Creates the {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} to set * on the {@link J2eePreAuthenticatedProcessingFilter}. It is populated with a * {@link SimpleMappableAttributesRetriever}. * * @return the {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} to use. */ private J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource createWebAuthenticationDetailsSource() { J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource detailsSource = new J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource(); SimpleMappableAttributesRetriever rolesRetriever = new SimpleMappableAttributesRetriever(); rolesRetriever.setMappableAttributes(mappableRoles); detailsSource.setMappableRolesRetriever(rolesRetriever); detailsSource = postProcess(detailsSource); return detailsSource; } }
/** * Gets the web xml mappable attributes retriever. * * @return the web xml mappable attributes retriever */ @Bean(name = "j2eeMappableRolesRetriever") public WebXmlMappableAttributesRetriever getWebXmlMappableAttributesRetriever() { return new WebXmlMappableAttributesRetriever(); }
J2eePreAuthenticatedProcessingFilter j2eeFilter = new J2eePreAuthenticatedProcessingFilter(); j2eeFilter.setAuthenticationManager(authenticationManager);
/** * Gets the j 2 ee based pre authenticated web authentication details source. * * @return the j 2 ee based pre authenticated web authentication details source */ @Bean(name = "authenticationDetailsSource") public J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource getJ2eeBasedPreAuthenticatedWebAuthenticationDetailsSource() { J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource source = new J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource(); source.setMappableRolesRetriever(getWebXmlMappableAttributesRetriever()); source.setUserRoles2GrantedAuthoritiesMapper(getSimpleAttributes2GrantedAuthoritiesMapper()); return source; }
/** * Builds the authentication details object. * * @see org.springframework.security.authentication.AuthenticationDetailsSource#buildDetails(Object) */ public PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails buildDetails( HttpServletRequest context) { Collection<String> j2eeUserRoles = getUserRoles(context); Collection<? extends GrantedAuthority> userGas = j2eeUserRoles2GrantedAuthoritiesMapper .getGrantedAuthorities(j2eeUserRoles); if (logger.isDebugEnabled()) { logger.debug("J2EE roles [" + j2eeUserRoles + "] mapped to Granted Authorities: [" + userGas + "]"); } PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails result = new PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails( context, userGas); return result; }
factory.setValidating(false); DocumentBuilder db = factory.newDocumentBuilder(); db.setEntityResolver(new MyEntityResolver()); doc = db.parse(aStream); return doc;
/** * Loads the web.xml file using the configured <tt>ResourceLoader</tt> and parses the * role-name elements from it, using these as the set of <tt>mappableAttributes</tt>. */ public void afterPropertiesSet() throws Exception { Resource webXml = resourceLoader.getResource("/WEB-INF/web.xml"); Document doc = getDocument(webXml.getInputStream()); NodeList webApp = doc.getElementsByTagName("web-app"); if (webApp.getLength() != 1) { throw new IllegalArgumentException( "Failed to find 'web-app' element in resource" + webXml); } NodeList securityRoles = ((Element) webApp.item(0)) .getElementsByTagName("security-role"); ArrayList<String> roleNames = new ArrayList<>(); for (int i = 0; i < securityRoles.getLength(); i++) { Element secRoleElt = (Element) securityRoles.item(i); NodeList roles = secRoleElt.getElementsByTagName("role-name"); if (roles.getLength() > 0) { String roleName = ((Element) roles.item(0)).getTextContent().trim(); roleNames.add(roleName); logger.info("Retrieved role-name '" + roleName + "' from web.xml"); } else { logger.info("No security-role elements found in " + webXml); } } mappableAttributes = Collections.unmodifiableSet(new HashSet<>(roleNames)); }
/** * Gets the j 2 ee pre authenticated processing filter. * * @return the j 2 ee pre authenticated processing filter */ @Bean(name = "j2eePreAuthenticatedProcessingFilter") public J2eePreAuthenticatedProcessingFilter getJ2eePreAuthenticatedProcessingFilter() { J2eePreAuthenticatedProcessingFilter filter = new J2eePreAuthenticatedProcessingFilter(); filter.setAuthenticationManager(getProviderManager()); filter.setAuthenticationDetailsSource( getJ2eeBasedPreAuthenticatedWebAuthenticationDetailsSource()); return filter; }
J2eePreAuthenticatedProcessingFilter j2eeFilter = new J2eePreAuthenticatedProcessingFilter(); j2eeFilter.setAuthenticationManager(authenticationManager);
/** * Creates the {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} to set * on the {@link J2eePreAuthenticatedProcessingFilter}. It is populated with a * {@link SimpleMappableAttributesRetriever}. * * @return the {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} to use. */ private J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource createWebAuthenticationDetailsSource() { J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource detailsSource = new J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource(); SimpleMappableAttributesRetriever rolesRetriever = new SimpleMappableAttributesRetriever(); rolesRetriever.setMappableAttributes(mappableRoles); detailsSource.setMappableRolesRetriever(rolesRetriever); detailsSource = postProcess(detailsSource); return detailsSource; } }
/** * Gets the {@link J2eePreAuthenticatedProcessingFilter} or creates a default instance * using the properties provided. * @param authenticationManager the {@link AuthenticationManager} to use. * @return the {@link J2eePreAuthenticatedProcessingFilter} to use. */ private J2eePreAuthenticatedProcessingFilter getFilter( AuthenticationManager authenticationManager) { if (j2eePreAuthenticatedProcessingFilter == null) { j2eePreAuthenticatedProcessingFilter = new J2eePreAuthenticatedProcessingFilter(); j2eePreAuthenticatedProcessingFilter .setAuthenticationManager(authenticationManager); j2eePreAuthenticatedProcessingFilter .setAuthenticationDetailsSource(createWebAuthenticationDetailsSource()); j2eePreAuthenticatedProcessingFilter = postProcess(j2eePreAuthenticatedProcessingFilter); } return j2eePreAuthenticatedProcessingFilter; }
J2eePreAuthenticatedProcessingFilter j2eeFilter = new J2eePreAuthenticatedProcessingFilter(); j2eeFilter.setAuthenticationManager(authenticationManager);
/** * Creates the {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} to set * on the {@link J2eePreAuthenticatedProcessingFilter}. It is populated with a * {@link SimpleMappableAttributesRetriever}. * * @return the {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} to use. */ private J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource createWebAuthenticationDetailsSource() { J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource detailsSource = new J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource(); SimpleMappableAttributesRetriever rolesRetriever = new SimpleMappableAttributesRetriever(); rolesRetriever.setMappableAttributes(mappableRoles); detailsSource.setMappableRolesRetriever(rolesRetriever); detailsSource = postProcess(detailsSource); return detailsSource; } }
/** * Gets the {@link J2eePreAuthenticatedProcessingFilter} or creates a default instance using the properties provided. * @param authenticationManager the {@link AuthenticationManager} to use. * @return the {@link J2eePreAuthenticatedProcessingFilter} to use. */ private J2eePreAuthenticatedProcessingFilter getFilter( AuthenticationManager authenticationManager) { if (j2eePreAuthenticatedProcessingFilter == null) { j2eePreAuthenticatedProcessingFilter = new J2eePreAuthenticatedProcessingFilter(); j2eePreAuthenticatedProcessingFilter .setAuthenticationManager(authenticationManager); j2eePreAuthenticatedProcessingFilter .setAuthenticationDetailsSource(createWebAuthenticationDetailsSource()); j2eePreAuthenticatedProcessingFilter = postProcess(j2eePreAuthenticatedProcessingFilter); } return j2eePreAuthenticatedProcessingFilter; }
J2eePreAuthenticatedProcessingFilter j2eeFilter = new J2eePreAuthenticatedProcessingFilter(); j2eeFilter.setAuthenticationManager(authenticationManager);
/** * Creates the * {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} to set on * the {@link J2eePreAuthenticatedProcessingFilter}. It is populated with a * {@link SimpleMappableAttributesRetriever}. * * @return the * {@link J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource} * to use. */ private J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource createWebAuthenticationDetailsSource() { J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource detailsSource = new J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource(); SimpleMappableAttributesRetriever rolesRetriever = new SimpleMappableAttributesRetriever(); rolesRetriever.setMappableAttributes(mappableRoles); detailsSource.setMappableRolesRetriever(rolesRetriever); detailsSource = postProcess(detailsSource); return detailsSource; } }
/** * Gets the {@link J2eePreAuthenticatedProcessingFilter} or creates a default instance * using the properties provided. * @param authenticationManager the {@link AuthenticationManager} to use. * @return the {@link J2eePreAuthenticatedProcessingFilter} to use. */ private J2eePreAuthenticatedProcessingFilter getFilter( AuthenticationManager authenticationManager) { if (j2eePreAuthenticatedProcessingFilter == null) { j2eePreAuthenticatedProcessingFilter = new J2eePreAuthenticatedProcessingFilter(); j2eePreAuthenticatedProcessingFilter .setAuthenticationManager(authenticationManager); j2eePreAuthenticatedProcessingFilter .setAuthenticationDetailsSource(createWebAuthenticationDetailsSource()); j2eePreAuthenticatedProcessingFilter = postProcess(j2eePreAuthenticatedProcessingFilter); } return j2eePreAuthenticatedProcessingFilter; }