本文整理汇总了Java中com.unboundid.ldap.sdk.DN类的典型用法代码示例。如果您正苦于以下问题:Java DN类的具体用法?Java DN怎么用?Java DN使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DN类属于com.unboundid.ldap.sdk包,在下文中一共展示了DN类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getUserRoles
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
@Override
public Set<String> getUserRoles(String username) throws Exception {
LOGGER.debug("getRoles("+username+")");
Objects.requireNonNull(username);
Set<String> roles = new HashSet<>();
String filter = "(uid=" + username + ")";
SearchRequest searchRequest = new SearchRequest(searchBase, SearchScope.SUB, filter);
SearchResult searchResult = connectionPool.search(searchRequest);
List<SearchResultEntry> searchResultEntries = searchResult.getSearchEntries();
if(searchResultEntries.isEmpty()) {
LOGGER.warn("No result found roles for user: " + username);
return new HashSet<String>();
} else if (searchResultEntries.size() > 1) {
LOGGER.error("Multiples users found and only one was expected for user: " + username);
return new HashSet<String>();
} else {
for(SearchResultEntry searchResultEntry : searchResultEntries) {
String[] groups = searchResultEntry.getAttributeValues("memberOf");
if(null != groups) {
for(String group : groups) {
for (RDN rdn : new DN(group).getRDNs()) {
if (rdn.hasAttribute("cn")) {
roles.addAll(Arrays.asList(rdn.getAttributeValues()));
break;
}
}
}
}
}
}
return roles;
}
开发者ID:lightblue-platform,项目名称:lightblue-rest,代码行数:39,代码来源:LdapRolesProvider.java
示例2: getUser
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
public User getUser(String username) {
User user = new User();
try {
List<SearchResultEntry> searchResultEntries = search(getLoginFilter(username));
if (!searchResultEntries.isEmpty()) {
SearchResultEntry searchResultEntry = searchResultEntries.get(0);
user.setUsername(username);
user.setGivenName(searchResultEntry.getAttributeValue(givenNameAttribute));
user.setSurName(searchResultEntry.getAttributeValue(surNameAttribute));
user.setEmail(searchResultEntry.getAttributeValue(mailAttribute));
List<String> groups = new ArrayList<>();
String[] groupAttributeValues = searchResultEntry.getAttributeValues(groupAttribute);
for (String groupAttributeValue : groupAttributeValues) {
DN groupDN = new DN(groupAttributeValue);
String groupName = groupDN.getRDN().getAttributeValues()[0];
groups.add(groupName);
}
user.setGroups(groups);
}
}
catch(Exception e) {
LOG.error(e.getMessage(), e);
}
return user;
}
开发者ID:chrisipa,项目名称:cloud-portal,代码行数:34,代码来源:DirectoryService.java
示例3: getDNDomainComponent
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
public static String getDNDomainComponent(String dn) throws LDAPException {
StringBuilder ret = new StringBuilder();
for (RDN rdn : new DN(DN.normalize(dn)).getRDNs()) {
for (String name : rdn.getAttributeNames()) {
if ("dc".equals(name)) {
for (String value : rdn.getAttributeValues()) {
if (ret.length() > 0) {
ret.append('.');
}
ret.append(value);
}
}
}
}
return ret.toString();
}
开发者ID:oVirt,项目名称:ovirt-engine-extension-aaa-ldap,代码行数:17,代码来源:Framework.java
示例4: configureWithPort
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
protected InMemoryDirectoryServer configureWithPort(int port) throws LDAPException,BindException {
LdapConfiguration config = defaultConfiguration();
InMemoryListenerConfig listenerConfig = (port > 0) ?
InMemoryListenerConfig.createLDAPConfig("default", config.port()) :
InMemoryListenerConfig.createLDAPConfig("default");
InMemoryDirectoryServerConfig c = new InMemoryDirectoryServerConfig(new DN(config.base().dn()));
c.setListenerConfigs(listenerConfig);
c.addAdditionalBindCredentials(config.bindDn(), config.password());
c.setSchema(null);
server = new InMemoryDirectoryServer(c);
try {
server.startListening();
return server;
} catch (LDAPException ldapException) {
if (ldapException.getMessage().contains("java.net.BindException")) {
throw new BindException(ldapException.getMessage());
}
throw ldapException;
}
}
开发者ID:zoldar,项目名称:ldap-test-server-py4j,代码行数:24,代码来源:LdapPatchedServerResource.java
示例5: newEmbeddedServer
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
public static EmbeddedLdapServer newEmbeddedServer(String defaultPartitionName,
String defaultPartitionSuffix, int port) throws Exception {
InMemoryDirectoryServerConfig config = new InMemoryDirectoryServerConfig(
defaultPartitionSuffix);
config.addAdditionalBindCredentials("uid=admin,ou=system", "secret");
config.setListenerConfigs(InMemoryListenerConfig.createLDAPConfig("LDAP", port));
config.setEnforceSingleStructuralObjectClass(false);
config.setEnforceAttributeSyntaxCompliance(true);
Entry entry = new Entry(new DN(defaultPartitionSuffix));
entry.addAttribute("objectClass", "top", "domain", "extensibleObject");
entry.addAttribute("dc", defaultPartitionName);
InMemoryDirectoryServer directoryServer = new InMemoryDirectoryServer(config);
directoryServer.add(entry);
directoryServer.startListening();
return new EmbeddedLdapServer(directoryServer);
}
开发者ID:spring-projects,项目名称:spring-ldap,代码行数:21,代码来源:EmbeddedLdapServer.java
示例6: configureWithPort
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
protected InMemoryDirectoryServer configureWithPort(int port) throws LDAPException, BindException {
InMemoryListenerConfig listenerConfig = (port > 0) ?
InMemoryListenerConfig.createLDAPConfig("default", config.port()) :
InMemoryListenerConfig.createLDAPConfig("default");
InMemoryDirectoryServerConfig c = new InMemoryDirectoryServerConfig(new DN(config.base().dn()));
c.setListenerConfigs(listenerConfig);
c.addAdditionalBindCredentials(config.bindDn(), config.password());
if (!config.useSchema()) {
c.setSchema(null);
}
server = new InMemoryDirectoryServer(c);
try {
server.startListening();
return server;
} catch (LDAPException ldape) {
if (ldape.getMessage().contains("BindException")) {
throw new BindException(ldape.getMessage());
}
throw ldape;
}
}
开发者ID:trevershick,项目名称:ldap-test-utils,代码行数:23,代码来源:LdapServerResource.java
示例7: createAnyFilterFromDnList
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
/**
* Creates any filter to load all objects represented by this dn list.
*
* @param p_filterAttributeName filter attribute name
* @param p_dnList dn list
* @return filter
*/
public static Filter createAnyFilterFromDnList(String p_filterAttributeName, List<String> p_dnList) {
try {
if (p_dnList != null && !p_dnList.isEmpty()) {
final StringBuilder sb = new StringBuilder("(|");
for (String dn : p_dnList) {
final DN dnObj = new DN(dn);
final RDN rdn = dnObj.getRDN();
if (rdn.getAttributeNames()[0].equals(p_filterAttributeName)) {
final String[] values = rdn.getAttributeValues();
if (values != null && values.length == 1) {
sb.append("(");
sb.append(p_filterAttributeName).append("=");
sb.append(values[0]);
sb.append(")");
}
}
}
sb.append(")");
final String filterAsString = sb.toString();
log.trace("dnList: " + p_dnList + ", ldapFilter: " + filterAsString);
return Filter.create(filterAsString);
}
} catch (LDAPException e) {
log.trace(e.getMessage(), e);
}
return null;
}
开发者ID:GluuFederation,项目名称:oxAuth,代码行数:35,代码来源:LdapUtils.java
示例8: EmbeddedDirectoryServer
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
private EmbeddedDirectoryServer(@NotNull String dn, @NotNull URL ldifStream) throws Exception {
baseDn = new DN(dn);
final InMemoryDirectoryServerConfig config = new InMemoryDirectoryServerConfig(dn);
server = new InMemoryDirectoryServer(config);
try (InputStream in = ldifStream.openStream()) {
server.importFromLDIF(false, new LDIFReader(in));
}
server.startListening();
}
开发者ID:bozaro,项目名称:git-as-svn,代码行数:13,代码来源:EmbeddedDirectoryServer.java
示例9: getConnectionPoolEntry
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
public ConnectionPoolEntry getConnectionPoolEntry(String name, String dn, Map<String, Object> vars)
throws Exception {
log.debug("getConnectionPoolEntry Entry name='{}', dn='{}'", name, dn);
String domainComponent = null;
if (dn != null && !dn.isEmpty() && DN.isValidDN(dn)) {
domainComponent = getDNDomainComponent(dn);
if (domainComponent.isEmpty()) {
domainComponent = null;
}
}
final String PREFIX_POOL = "pool";
final String PREFIX_POOL_DC_RESOLVE = "dc-resolve";
final String VAR_RESOLVE_DOMAIN = "__dc_resolve_domain";
MapProperties poolProps = new MapProperties(
props.get(PREFIX_POOL, "default"),
props.get(PREFIX_POOL, name)
);
if (domainComponent != null && !domainComponent.isEmpty()) {
MapProperties poolPropsDC = new MapProperties(
poolProps,
poolProps.get(PREFIX_POOL_DC_RESOLVE, "default"),
poolProps.get(PREFIX_POOL_DC_RESOLVE, domainComponent.replace('.', '_'))
);
if (poolPropsDC.getBoolean(false, PREFIX_POOL_DC_RESOLVE, "enable")) {
log.debug("getConnectionPoolEntry dc-resolve enabled");
poolProps = poolPropsDC;
name += "@" + domainComponent;
vars.put(VAR_RESOLVE_DOMAIN, domainComponent);
}
}
ConnectionPoolEntry entry = connectionPools.get(name);
if (entry == null) {
log.debug("getConnectionPoolEntry no pool for '{}'", name);
try {
entry = createConnectionPoolEntry(
name,
Util.expandMap(
poolProps,
"seq",
vars
),
vars
);
connectionPools.put(entry.name, entry);
} finally {
vars.remove(VAR_RESOLVE_DOMAIN);
}
}
return entry;
}
开发者ID:oVirt,项目名称:ovirt-engine-extension-aaa-ldap,代码行数:55,代码来源:Framework.java
示例10: isDN
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
public static boolean isDN(String p_dn) {
return DN.isValidDN(p_dn);
}
开发者ID:GluuFederation,项目名称:oxAuth,代码行数:4,代码来源:LdapUtils.java
示例11: DefaultLdapDn
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
public DefaultLdapDn(DN dn) {
this.dn = dn;
}
开发者ID:apiman,项目名称:apiman,代码行数:4,代码来源:DefaultLdapDn.java
示例12: InMemoryDirectoryServerConfigWithRootDSEAttributes
import com.unboundid.ldap.sdk.DN; //导入依赖的package包/类
public InMemoryDirectoryServerConfigWithRootDSEAttributes(DN... baseDNs) throws LDAPException {
super(baseDNs);
}
开发者ID:zagyi,项目名称:adsync4j,代码行数:4,代码来源:InMemoryDirectoryServerConfigWithRootDSEAttributes.java
注:本文中的com.unboundid.ldap.sdk.DN类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论