List of usage examples for org.springframework.security.authentication.jaas.memory InMemoryConfiguration InMemoryConfiguration
public InMemoryConfiguration(Map<String, AppConfigurationEntry[]> mappedConfigurations)
From source file:com.thinkbiganalytics.auth.jaas.config.JaasAuthConfig.java
@Bean(name = "jaasConfiguration") public javax.security.auth.login.Configuration jaasConfiguration( Optional<List<LoginConfiguration>> loginModuleEntries) { // Generally the entries will be null only in situations like unit/integration tests. if (loginModuleEntries.isPresent()) { List<LoginConfiguration> sorted = new ArrayList<>(loginModuleEntries.get()); sorted.sort(new AnnotationAwareOrderComparator()); Map<String, AppConfigurationEntry[]> merged = sorted.stream() .map(c -> c.getAllApplicationEntries().entrySet()).flatMap(s -> s.stream()) .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue(), ArrayUtils::addAll)); return new InMemoryConfiguration(merged); } else {//www . j a v a 2 s .c o m return new InMemoryConfiguration(Collections.emptyMap()); } }
From source file:org.apache.atlas.web.security.AtlasPamAuthenticationProvider.java
private Authentication getPamAuthentication(Authentication authentication) { try {//from www . j a va 2s . co m DefaultJaasAuthenticationProvider jaasAuthenticationProvider = new DefaultJaasAuthenticationProvider(); String loginModuleName = "org.apache.atlas.web.security.PamLoginModule"; AppConfigurationEntry.LoginModuleControlFlag controlFlag = AppConfigurationEntry.LoginModuleControlFlag.REQUIRED; Properties properties = ConfigurationConverter .getProperties(ApplicationProperties.get().subset("atlas.authentication.method.pam")); Map<String, String> options = new HashMap<>(); for (String key : properties.stringPropertyNames()) { String value = properties.getProperty(key); options.put(key, value); } if (!options.containsKey("service")) options.put("service", "atlas-login"); AppConfigurationEntry appConfigurationEntry = new AppConfigurationEntry(loginModuleName, controlFlag, options); AppConfigurationEntry[] appConfigurationEntries = new AppConfigurationEntry[] { appConfigurationEntry }; Map<String, AppConfigurationEntry[]> appConfigurationEntriesOptions = new HashMap<String, AppConfigurationEntry[]>(); appConfigurationEntriesOptions.put("SPRINGSECURITY", appConfigurationEntries); Configuration configuration = new InMemoryConfiguration(appConfigurationEntriesOptions); jaasAuthenticationProvider.setConfiguration(configuration); UserAuthorityGranter authorityGranter = new UserAuthorityGranter(); UserAuthorityGranter[] authorityGranters = new UserAuthorityGranter[] { authorityGranter }; jaasAuthenticationProvider.setAuthorityGranters(authorityGranters); jaasAuthenticationProvider.afterPropertiesSet(); String userName = authentication.getName(); String userPassword = ""; if (authentication.getCredentials() != null) { userPassword = authentication.getCredentials().toString(); } // getting user authenticated if (userName != null && userPassword != null && !userName.trim().isEmpty() && !userPassword.trim().isEmpty()) { final List<GrantedAuthority> grantedAuths = getAuthorities(userName); final UserDetails principal = new User(userName, userPassword, grantedAuths); final Authentication finalAuthentication = new UsernamePasswordAuthenticationToken(principal, userPassword, grantedAuths); authentication = jaasAuthenticationProvider.authenticate(finalAuthentication); authentication = getAuthenticationWithGrantedAuthority(authentication); return authentication; } else { return authentication; } } catch (Exception e) { logger.debug("Pam Authentication Failed:", e); } return authentication; }