标签: ldap

将用户添加到 LDAP 时,LDAP 错误代码 32

我需要向我的 LDAP 添加一个新的用户条目。以下是我的代码:

     javax.naming.Name name = new DistinguishedName("cn=" + userName +",ou=Users,dc=wso2,dc=org");


     Attribute objectClass = new BasicAttribute("objectClass");
        {
         objectClass.add("top");
         objectClass.add("inetOrgPerson");
         objectClass.add("person");
         objectClass.add("organizationalPerson");
        }
        Attributes userAttributes = new BasicAttributes();
        userAttributes.put(objectClass);
        userAttributes.put("cn", userName);
        userAttributes.put("sn", "abctest");
        userAttributes.put(ATTRIBUTE_USER_PASSWORD, password);
        LdapTemplate ldapTemplate = (LdapTemplate) SpringBeanFactory
                .getBean("ldapTemplate");
        ldapTemplate.bind(name, null, userAttributes);
Run Code Online (Sandbox Code Playgroud)

尽管执行这段代码时我得到以下异常:

 org.apache.cxf.interceptor.Fault: [LDAP: error code 32 - No Such Object];       
 nested exception is javax.naming.NameNotFoundException: 
 [LDAP: error code 32 -      No Such Object]; remaining name 'cn=myname,ou=Users,dc=wso2,dc=org'
Run Code Online (Sandbox Code Playgroud)

我遵循http://kaustuvmaji.blogspot.in/2014/12/simple-example-of-spring-ldap.html中指定的示例代码。有人可以帮助我理解此错误的根本原因或正确的代码。

java ldap spring-ldap

1
推荐指数
1
解决办法
1万
查看次数

如何在 .NET Core 中查询 Active Directory?

我想在 .NET Core 项目中查询 Active Directory,并通过提供用户 ID 来获取用户的详细信息。

LDAP 服务器路径的格式如下:ldap://

ldap .net-core

1
推荐指数
1
解决办法
9072
查看次数

如何在LDAP中存储文件?

我正在寻找在LDAP服务器中存储配置文件的最佳方法.我的应用程序用于将用户设置保存在xml文件中.用户登录已集中在LDAP服务器中.用户在LDAP服务器中存储为"inetOrgPerson".我想将xml文件附加到每个用户.

最好的方法是什么?标准LDAP模式是否提供存储文本文件的类?或者我是否应该根据我的需求扩展架构?

settings ldap

0
推荐指数
1
解决办法
4947
查看次数

搜索LDAP并创建CSV文件

我编写了以下程序,它连接到两个LDAP存储,比较属性并根据结果创建一个新的csv文件.我遇到了一个问题.

这是代码:

        //Define LDAP Connection
        string username = "****";
        string password = "*****";
        string domain = "LDAP://****";

        //Define LDAP Connection 
        string ABSAusername = "****";
        string ABSApassword = "****";
        string ABSAdomain = "LDAP://****";

        //Create Directory Searcher
        DirectoryEntry ldapConnection = new DirectoryEntry(domain,username,password);
        ldapConnection.AuthenticationType = AuthenticationTypes.Anonymous;
        DirectorySearcher ds = new DirectorySearcher(ldapConnection);
        ds.Filter = "((EmploymentStatus=0))";
        ds.SearchScope = System.DirectoryServices.SearchScope.Subtree;

        //Create Directory Searcher
        DirectoryEntry ABSAldapConnection = new DirectoryEntry(ABSAdomain, ABSAusername, ABSApassword);
        ABSAldapConnection.AuthenticationType = AuthenticationTypes.Anonymous;
        DirectorySearcher ABSAds = new DirectorySearcher(ABSAldapConnection);
        ABSAds.Filter = "((&(EmploymentStatus=3)(EmploymentStatusDescription=Active))";
        ABSAds.SearchScope = System.DirectoryServices.SearchScope.Subtree;

        ds.PropertiesToLoad.Add("cn");
        ds.PropertiesToLoad.Add …
Run Code Online (Sandbox Code Playgroud)

c# ldap

0
推荐指数
1
解决办法
1193
查看次数

a ="$ b"和a ="value"之间有什么区别,其中$ b ="value"?

我正在用PHP进行一些LDAP开发,并且在PHP中遇到了一些可能是新手的值赋值.

我的问题是特定于LDAP_MODIFY,但可能是一般问题.我正在尝试更新属性,以下属性为我提供了一个未找到属性的错误:

$email = 'Whitegon024@thedomain.org';
$attributes   = array( "userPrincipleName" => "$email"); 
Run Code Online (Sandbox Code Playgroud)

但以下是成功的:

$attributes = array( "userPrincipalName" => 'Whitegon024@thedomain.org') ; 
Run Code Online (Sandbox Code Playgroud)

如果我做了print_r($attributes);其中任何一个我得到:

Array
(
    [userPrincipleName] => Whitegon024@thedomain.org
)
Run Code Online (Sandbox Code Playgroud)

有人有线索吗?我确信这是非常简单的事情.

php ldap variable-assignment

0
推荐指数
1
解决办法
50
查看次数

php LDAP无效凭证

我的代码是:

$user = 'test';
$password = 'testpass';
$host = '10.1.1.1';
$port = 389;
$basedn = 'dc=ci,dc=mycompany,dc=com';
$group = 'Users';
$ldaprdn = 'uid=test,dc=ci,dc=mycompany,dc=com';

$ad = ldap_connect("ldap://$host", $port);
if ($ad) {
    echo "Connected" . "<br/>";
} else {
    echo ldap_error($ad) . "<br/>";
}
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);

//  $ldapBind = ldap_bind($ad, "{$user}@{$domain}", $password); // 1.
//  $ldapBind = ldap_bind($ad, $user, $password); // 2.
    $ldapBind = ldap_bind($ad, $ldaprdn, $password); // 3.
//  $ldapBind = ldap_bind($ad, null, null); // 4.

if ($ldapBind) …
Run Code Online (Sandbox Code Playgroud)

php authentication ldap

0
推荐指数
1
解决办法
2万
查看次数

在grails中配置ldap 2.2.4 spring security core 2.0?

我目前正致力于将我的应用程序与公司ldap集成.虽然我能够让应用程序实际检查ldap上的用户进行身份验证,但用户无法克服Spring安全性ROLES配置.我得到:"拒绝抱歉,您无权查看此页面." 每次我尝试输入@Secured(['ROLE_USER'])的页面.我想知道如何在LDAP上添加每个用户以获得ROLE_USER,以便他能够完全使用应用程序.

我的ldap配置非常简单:

grails.plugin.springsecurity.providerNames = ['ldapAuthProvider','anonymousAuthenticationProvider','rememberMeAuthenticationProvider']
grails.plugin.springsecurity.ldap.context.anonymousReadOnly = true
grails.plugin.springsecurity.ldap.context.server = "SOME LDAP ADRESS"
grails.plugin.springsecurity.ldap.authorities.groupSearchBase = 'ou=Employees,O=*****,C=****'

grails.plugin.springsecurity.ldap.search.base = 'O=****,C=****'
grails.plugin.springsecurity.ldap.authorities.retrieveGroupRoles = true
grails.plugin.springsecurity.ldap.authorities.retrieveDatabaseRoles = true
grails.plugin.springsecurity.ldap.authorities.groupSearchFilter = 'member={0}'
grails.plugin.springsecurity.ldap.search.attributesToReturn = null
Run Code Online (Sandbox Code Playgroud)

Spring安全核心是默认核心:

// Added by the Spring Security Core plugin:
grails.plugin.springsecurity.userLookup.userDomainClassName = 'amelinium1.grails.SecUser'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'amelinium1.grails.SecUserSecRole'
grails.plugin.springsecurity.authority.className = 'amelinium1.grails.SecRole'
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
    '/**':                              ['permitAll'],
    '/**/systeminfo':                 ['permitAll'],
    '/**/js/**':                      ['permitAll'],
    '/**/css/**':                     ['permitAll'],
    '/**/images/**':                  ['permitAll']]
grails.plugin.springsecurity.logout.postOnly = false
Run Code Online (Sandbox Code Playgroud)

提供文档http://grails-plugins.github.io/grails-spring-security-core/docs/manual/guide/single.pdf似乎不是最新的,即使是2.0版本的Spring Security核心.我试图实现Custom GrailsUser和GrailsUserDetailsS​​ervice,但它们似乎与插件的其余部分混合在一起.(基于文档的实现).

任何人都可以向我指出正确的方向,并提供有关如何在最新版本2.0-RC2中实施LDAP的一些信息?

编辑

我的CustomUserDetailsS​​ervice类,但我不确定它是否正确配置LDAP:

    class CustomUserDetailsService implements GrailsUserDetailsService{

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

grails spring ldap spring-security grails-plugin

0
推荐指数
1
解决办法
1710
查看次数

LDAP Bind似乎返回true,密码为空

我有此代码针对LDAP目录验证用户身份。密码错误时返回false,但是如果密码为空,则无论如何都会对用户进行身份验证。有什么想法可能会发生吗?

if (@ldap_bind($ds, $user_dn, $password) || sha1($password) == '484h84h4hf4Ffwj49393393j93j') 
{
    $valid = true;
}
else $valid = false;
Run Code Online (Sandbox Code Playgroud)

php ldap

0
推荐指数
1
解决办法
1627
查看次数

ClassNotFoundException:带有apacheds的DirectoryService - 全部已包含在内

我在Spring Boot Application中实现了LDAP身份验证.添加的依赖项如下:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-ldap</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.directory.server</groupId>
        <artifactId>apacheds-all</artifactId>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但是我仍然得到以下ClassNotFoundException:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain'
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]
Caused by: java.lang.NoClassDefFoundError: org/apache/directory/server/core/DirectoryService
Caused by: java.lang.ClassNotFoundException: org.apache.directory.server.core.DirectoryService
Run Code Online (Sandbox Code Playgroud)

我的maven依赖树清楚地显示了apacheds-all成功添加. 在此输入图像描述

为什么我仍然会收到此错误?

spring ldap spring-security spring-boot

0
推荐指数
1
解决办法
1848
查看次数

批量通过JNDI检索操作(内部)LDAP属性

InitialLdapContext如果知道专有名称,则JNDI 类允许我在一行中检索LDAP条目的属性:

Attributes attributes = ctx.getAttributes(entryDN);
Run Code Online (Sandbox Code Playgroud)

但是,这不包括操作属性,例如entryCSN,modifyTimestamp等。当然,始终可以指定要通过字符串数组获取的属性:

Attributes attributes = ctx.getAttributes(entryDN, new String[] {"entryCSN"});
Run Code Online (Sandbox Code Playgroud)

但是,仅返回指定的属性。

我尝试过但不适合我的事情:

  1. 通过检索属性 ctx.search()

    我知道我可以通过搜索获取​​所有属性(请参阅此处),但是我不希望a)如果我已经知道dn则进行整个Ldap查询,并且b)麻烦地处理搜索结果集。

  2. 仅对操作属性进行第二次查询

    当然,我只能执行第二个查询,但是我想保存额外的行程并将第二个属性添加到第一个属性中,如下所示:

    Attributes attributes = ctx.getAttributes(entryDN);
    attributes.put(ctx.getAttributes(entryDN, new String[] {"entryCSN"}).get("entryCSN"));
    
    Run Code Online (Sandbox Code Playgroud)

    导致NoSuchElementException。堆栈跟踪:

    Exception thrown: java.util.NoSuchElementException: Vector Enumeration
    at java.util.Vector$1.nextElement(Vector.java:352)
    at javax.naming.directory.BasicAttribute$ValuesEnumImpl.nextElement(BasicAttribute.java:537)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 列出字符串数组中的所有属性

    由于返回的Ldap条目可以是不同的对象类,因此具有不同的属性,因此我认为没有实际的方法。

有谁知道如何一次获得正常属性和操作属性?

java attributes jndi ldap

0
推荐指数
1
解决办法
1740
查看次数