private LdapIdentity getIdentity(DirContext dirContext, Collection<String> returningAttributes, Collection<String> binaryAttributes) throws RealmUnavailableException { log.debugf("Trying to create identity for principal [%s].", name); LdapSearch ldapSearch = createLdapSearchByDn(); if (ldapSearch == null) { // name is not a valid DN, search by name if (identityMapping.searchDn != null) { ldapSearch = new LdapSearch(identityMapping.searchDn, identityMapping.searchRecursive, 0, identityMapping.filterName, name); } else { log.debugf("Identity for principal [%s] not found. The name is not a valid DN and the search base DN is null", name); return null; } } ldapSearch.setReturningAttributes(returningAttributes); ldapSearch.setBinaryAttributes(binaryAttributes); final LdapSearch ldapSearchFinal = ldapSearch; try (Stream<SearchResult> resultsStream = ldapSearch.search(dirContext)) { SearchResult result = resultsStream.findFirst().orElse(null); if (result != null) { LdapIdentity identity = new LdapIdentity(name, ldapSearchFinal.getContext(), result.getNameInNamespace(), result.isRelative() ? null : result.getName(), result); log.debugf("Identity for principal [%s] found at [%s].", name, identity.getDistinguishedName()); return identity; } else { log.debugf("Identity for principal [%s] not found.", name); return null; } } }
boolean supported = false; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { supported = true; IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); icp.clearCredentials(); final AlgorithmParameterSpec parameterSpec = credential instanceof AlgorithmCredential ? ((AlgorithmCredential) credential).getParameters() : null; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { icp.persistCredential(credential);
IdentityEvidenceVerifier iev = verifier.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getUrl(), identity.getEntry().getAttributes());
LdapName identityLdapName = new LdapName(identity.getDistinguishedName()); String renameTo = null; identity.getDirContext().modifyAttributes(identityLdapName, modItemsArray); identity.getDirContext().rename(identityLdapName, newLdapName);
LdapName identityLdapName = new LdapName(identity.getDistinguishedName()); String renameTo = null; identity.getDirContext().modifyAttributes(identityLdapName, modItemsArray); identity.getDirContext().rename(identityLdapName, newLdapName);
boolean supported = false; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { supported = true; IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); icp.clearCredentials(); final AlgorithmParameterSpec parameterSpec = credential instanceof AlgorithmCredential ? ((AlgorithmCredential) credential).getParameters() : null; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { icp.persistCredential(credential);
boolean supported = false; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { supported = true; IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); icp.clearCredentials(); final AlgorithmParameterSpec parameterSpec = credential instanceof AlgorithmCredential ? ((AlgorithmCredential) credential).getParameters() : null; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { icp.persistCredential(credential);
boolean supported = false; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { supported = true; IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); icp.clearCredentials(); final AlgorithmParameterSpec parameterSpec = credential instanceof AlgorithmCredential ? ((AlgorithmCredential) credential).getParameters() : null; for (CredentialPersister persister : credentialPersisters) { IdentityCredentialPersister icp = persister.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes()); if (icp.getCredentialPersistSupport(credentialType, algorithmName, parameterSpec)) { icp.persistCredential(credential);
LdapName identityLdapName = new LdapName(identity.getDistinguishedName()); String renameTo = null; identity.getDirContext().modifyAttributes(identityLdapName, modItemsArray); identity.getDirContext().rename(identityLdapName, newLdapName);
for (CredentialLoader loader : credentialLoaders) { if (loader.getCredentialAcquireSupport(credentialType, algorithmName, parameterSpec).mayBeSupported()) { IdentityCredentialLoader icl = loader.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes());
for (CredentialLoader loader : credentialLoaders) { if (loader.getCredentialAcquireSupport(credentialType, algorithmName, parameterSpec).mayBeSupported()) { IdentityCredentialLoader icl = loader.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes());
for (EvidenceVerifier verifier : evidenceVerifiers) { if (verifier.getEvidenceVerifySupport(evidenceType, algorithmName).mayBeSupported()) { final IdentityEvidenceVerifier iev = verifier.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getUrl(), identity.getEntry().getAttributes());
IdentityCredentialLoader icl = loader.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes());
IdentityEvidenceVerifier iev = verifier.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getUrl(), identity.getEntry().getAttributes());
for (EvidenceVerifier verifier : evidenceVerifiers) { if (verifier.getEvidenceVerifySupport(evidenceType, algorithmName).mayBeSupported()) { final IdentityEvidenceVerifier iev = verifier.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getUrl(), identity.getEntry().getAttributes());
IdentityEvidenceVerifier iev = verifier.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getUrl(), identity.getEntry().getAttributes());
null); SearchResult entry = identity != null ? identity.getEntry() : null; DirContext identityContext = identity != null ? identity.getDirContext() : null;
null); SearchResult entry = identity != null ? identity.getEntry() : null; DirContext identityContext = identity != null ? identity.getDirContext() : null;
IdentityCredentialLoader icl = loader.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getEntry().getAttributes());
IdentityEvidenceVerifier iev = verifier.forIdentity(identity.getDirContext(), identity.getDistinguishedName(), identity.getUrl(), identity.getEntry().getAttributes());