use of org.codice.ddf.admin.security.common.fields.wcpm.ClaimsMapEntry in project admin-console-beta by connexta.
the class ITAdminSecurity method createSampleLdapConfiguration.
public LdapConfigurationField createSampleLdapConfiguration(EnumValue<String> ldapUseCase) {
LdapConfigurationField newConfig = new LdapConfigurationField();
CredentialsField creds = new CredentialsField().username(TEST_USERNAME).password(TEST_PASSWORD);
LdapBindUserInfo bindUserInfo = new LdapBindUserInfo().bindMethod(SimpleEnumValue.SIMPLE).credentialsField(creds);
LdapConnectionField connection = new LdapConnectionField().encryptionMethod(LdapEncryptionMethodField.NoEncryption.NONE).hostname("testHostName").port(666);
LdapConnectionField.ListImpl connections = new LdapConnectionField.ListImpl();
connections.add(connection);
LdapDirectorySettingsField dirSettings = new LdapDirectorySettingsField().baseUserDn(TEST_DN).loginUserAttribute(TEST_ATTRIBUTE).memberAttributeReferencedInGroup(TEST_ATTRIBUTE).baseGroupDn(TEST_DN).groupAttributeHoldingMember(TEST_ATTRIBUTE).useCase(ldapUseCase.getValue());
if (ldapUseCase.getValue().equals(LdapUseCase.ATTRIBUTE_STORE.getValue()) || ldapUseCase.getValue().equals(LdapUseCase.AUTHENTICATION_AND_ATTRIBUTE_STORE.getValue())) {
dirSettings.groupObjectClass(TEST_ATTRIBUTE);
newConfig.claimMappingsField(new ClaimsMapEntry.ListImpl().add(new ClaimsMapEntry().key(TEST_CLAIM_KEY).value(TEST_CLAIM_VALUE)));
}
return newConfig.connections(connections).bindUserInfo(bindUserInfo).settings(dirSettings);
}
use of org.codice.ddf.admin.security.common.fields.wcpm.ClaimsMapEntry in project admin-console-beta by connexta.
the class LdapTestClaimMappings method performFunction.
@Override
public BooleanField performFunction() {
try (LdapConnectionAttempt connectionAttempt = utils.bindUserToLdapConnection(conn, bindInfo)) {
addErrorMessages(connectionAttempt);
if (containsErrorMsgs()) {
return new BooleanField(false);
}
Connection ldapConnection = connectionAttempt.getResult();
addErrorMessages(utils.checkDirExists(baseUserDn, ldapConnection));
// Short-circuit return here, if either the user or group directory does not exist
if (containsErrorMsgs()) {
return new BooleanField(false);
}
claimMappings.getList().stream().map(ClaimsMapEntry::claimValueField).filter(claim -> !mappingAttributeFound(ldapConnection, claim.getValue())).forEach(claim -> addErrorMessage(userAttributeNotFoundError(claim.getPath())));
} catch (IOException e) {
LOGGER.warn("Error closing LDAP connection", e);
}
return new BooleanField(!containsErrorMsgs());
}
use of org.codice.ddf.admin.security.common.fields.wcpm.ClaimsMapEntry in project admin-console-beta by connexta.
the class SaveContextPolices method validate.
@Override
public void validate() {
super.validate();
checkForTrailingSlashes();
checkRootPathExists();
if (containsErrorMsgs()) {
return;
}
List<StringField> claimArgs = new ArrayList<>();
for (ContextPolicyBin bin : contextPolicies.getList()) {
claimArgs.addAll(bin.claimsMappingField().getList().stream().map(ClaimsMapEntry::claimField).collect(Collectors.toList()));
}
addErrorMessages(SecurityValidation.validateStsClaimsExist(claimArgs, configuratorSuite.getServiceActions(), stsServiceProps));
}
Aggregations