use of com.thinkbiganalytics.auth.jaas.LoginConfiguration in project kylo by Teradata.
the class JaasAuthConfig method jaasConfiguration.
@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 {
return new InMemoryConfiguration(Collections.emptyMap());
}
}
use of com.thinkbiganalytics.auth.jaas.LoginConfiguration in project kylo by Teradata.
the class FileAuthConfig method uiFileLoginConfiguration.
@Bean(name = "uiFileLoginConfiguration")
public LoginConfiguration uiFileLoginConfiguration(LoginConfigurationBuilder builder) {
// @formatter:off
LoginConfigurationBuilder.ModuleBuilder building = builder.order(this.loginOrder).loginModule(JaasAuthConfig.JAAS_UI).moduleClass(FailFastUsersRolesLoginModule.class).controlFlag(this.loginFlag).option("defaultUsersProperties", "users.default.properties").option("defaultRolesProperties", "groups.default.properties").option("usersProperties", usersResource).option("rolesProperties", groupsResource);
if (passwordHashEnabled) {
building.option("hashAlgorithm", hashAlgorithm).option("hashEncoding", hashEncoding);
}
LoginConfiguration config = building.add().build();
testConfiguration(config.getAllApplicationEntries().get(JaasAuthConfig.JAAS_UI)[0]);
return config;
// @formatter:on
}
use of com.thinkbiganalytics.auth.jaas.LoginConfiguration in project kylo by Teradata.
the class FileAuthConfig method servicesFileLoginConfiguration.
@Bean(name = "servicesFileLoginConfiguration")
public LoginConfiguration servicesFileLoginConfiguration(LoginConfigurationBuilder builder) {
// @formatter:off
LoginConfigurationBuilder.ModuleBuilder building = builder.order(this.loginOrder).loginModule(JaasAuthConfig.JAAS_SERVICES).moduleClass(FailFastUsersRolesLoginModule.class).controlFlag(this.loginFlag).option("defaultUsersProperties", "users.default.properties").option("defaultRolesProperties", "groups.default.properties").option("usersProperties", usersResource).option("rolesProperties", groupsResource);
if (passwordHashEnabled) {
building.option("hashAlgorithm", hashAlgorithm).option("hashEncoding", hashEncoding);
}
LoginConfiguration config = building.add().build();
testConfiguration(config.getAllApplicationEntries().get(JaasAuthConfig.JAAS_SERVICES)[0]);
return config;
// @formatter:on
}
Aggregations