标签: ldapconnection

LDAP:如何使用连接详细信息验证用户身份

我无法使用LDAP对用户进行身份验证.我有以下细节:

URL=ldap://10.10.10.10:389 
LDAP BASE:DC=lab2,DC=ins 
LDAP Bind Account: CN=Ldap Bind,OU=Service Accounts,OU=TECH,DC=lab2,DC=ins 
LDAP Bind Account Pw: secret 
Run Code Online (Sandbox Code Playgroud)

我可以sAMAccountName使用上面的详细信息搜索值,但是如何使用用户名和密码验证用户?
如果您按照我之前的问题进行操作,那么您将了解到,我已成功连接到LDAP服务器但无法对其进行身份验证.
用户进行身份验证:

user: someusername
password: somepwd
Run Code Online (Sandbox Code Playgroud)

我无法连接到LDAP服务器,'somepwd'我应该如何使用someusername.我能够搜索给定的用户sAMAccountName.

java spring ldap ldapconnection spring-ldap

9
推荐指数
2
解决办法
3万
查看次数

memberOf与LDAP中的groupMembership(Liferay)

在Liferay的LDAP身份验证设置中使用时,b/n memberOf属性和groupMembership属性有何区别?

用户已成功导入.这些组也成功导入.

但是用户不会自动分配到组.当我将组变量从'groupMembership'更改为'memberOf'时,多个用户无法登录Liferay.

memberOf和groupMembership变量究竟是什么?

LDAP Liferay设置

ldap ldapconnection liferay ldap-query liferay-6

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

如何使用UnboundID SDK连接到具有SSL服务器证书的LDAP服务器?

我手中有一个SSL LDAP服务器证书.我想用它来使用UnboundID SDK连接到LDAP服务器.

我不想使用com.unboundid.util.ssl.TrustAllTrustManager,如下所示: 使用带有SSL证书文件的UnboundID SDK连接到Android应用程序中的LDAP服务器

以下TrustManagers不符合我们的产品要求:

com.unboundid.util.ssl.PromptTrustManager
com.unboundid.util.ssl.HostNameTrustManager
com.unboundid.util.ssl.ValidityDateTrustManager
Run Code Online (Sandbox Code Playgroud)

我不希望任何用户交互,以及我在TrustManager上面列出的验证证书颁发者的内容.

另外,我不想在任何密钥库中插入LDAP服务器证书,因此我无法使用以下TrustManagers:

com.unboundid.util.ssl.WrapperKeyManager
com.unboundid.util.ssl.PKCS11KeyManager
com.unboundid.util.ssl.KeyStoreKeyManager
Run Code Online (Sandbox Code Playgroud)

我想做类似下面的代码:

CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = cf.generateCertificate(byteArrayInputStream);
SSLUtil sslUtil = new SSLUtil(new CertificateTrustManager(cert));
SSLSocketFactory socketFactory = sslUtil.createSSLSocketFactory();
LDAPConnection connection = new LDAPConnection(socketFactory,
     "server.example.com", 636);
Run Code Online (Sandbox Code Playgroud)

请注意,UnboundID SDK中不存在CertificateTrustManager.怎么可能这样做?

ssl ldap ssl-certificate ldapconnection unboundid-ldap-sdk

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

无法使用DirectoryServices.Protocols.LdapConnection打开SecureSocketLayer

我正在尝试修复产品中的SSL错误,并注意到虽然代码将SSL设置为true,但在代码SSL的下一行仍然是false.我为此编写了一个单元测试,单元测试证实了我的怀疑.

  [TestMethod]
  public void SecureSocketLayerSetToTrue( )
  {
     var ldapConnection = new LdapConnection( 
                                new LdapDirectoryIdentifier( "ldap.test.com", 636 ));
     ldapConnection.SessionOptions.SecureSocketLayer = true;
     Assert.IsTrue( ldapConnection.SessionOptions.SecureSocketLayer );
  }
Run Code Online (Sandbox Code Playgroud)

测试失败.这里有什么东西让我失踪吗?

ssl directoryservices ldap ldapconnection

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

登录LDAP时使用专有名称与cn或uid有什么区别?

我遇到了使用LDAP验证登录的问题.

我们使用Novell目录来验证其他应用程序,如Jira.(Jira工作得很完美).

我有这个应用程序,允许这些基本的LDAP配置: 在此输入图像描述

我的问题是,当我尝试登录时,它需要我的用户名XXXXXXXX并将其作为uid预先挂在搜索库中.所以它试图将我登录为:

UID = XXXXXXXX,OU =人,环境o = myCompany

哪个适用于我们的Sun LDAP服务器,但不适用于我们的Novell目录LDAP服务器.edirectory仅在我尝试以专有名称登录时才有效:

CN = XXXXXXXX,OU =人,环境o = myCompany

为什么edirectory的行为如下?

是我们指定的配置还是edirectory总是使用cn作为专有名称?

谢谢

ldap ldapconnection edirectory distinguishedname

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

使用LdapConnection连接到OpenLDAP时出错

        using (LdapConnection ldap = new LdapConnection("localhost:389"))
        {
            //ldap.AuthType = AuthType.Basic;
            ldap.Bind(new NetworkCredential("cn=manager,dc=wave,dc=com", "secret"));
        }
Run Code Online (Sandbox Code Playgroud)

我尝试使用身份验证类型以及身份验证类型.但是它会出现"可分辨名称包含无效语法"的错误

还有一件事是,我不能使用System.DirectoryServices,因为它仅适用于Active Directory,这就是我使用System.DirectoryServices.Protocol的原因.

谢谢!

.net c# active-directory ldapconnection openldap

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

C# LDAP SetPassword 抛出 RPC 服务器不可用

我正在尝试创建一个新用户 -> 设置密码并启用帐户。

早些时候我使用了 1 个单一对象,但在查看了一些帖子后,我决定将“使用”用于 3 种不同的操作

        string strDisplayName = txtFirstName.Text + " " + txtLastName.Text;
        string strUser = txtLoginName.Text;

        string pw = "pass@123";


        using (var objADAM = new DirectoryEntry("LDAP://" + adlink + "/CN=Users,DC=SS,DC=COM", "ss\\luser", "pass@123", AuthenticationTypes.Secure))
        {


            const long ADS_OPTION_PASSWORD_PORTNUMBER = 6;
            const long ADS_OPTION_PASSWORD_METHOD = 7;

            const int ADS_PASSWORD_ENCODE_CLEAR = 1;
            string strPort = "389";
            int intPort = Int32.Parse(strPort);

            using (var objUser = objADAM.Children.Add("CN=" + strUser, "user"))
            {
                objUser.Properties["sAMAccountName"].Add(strUser);
                objUser.CommitChanges();
            }
        }

        using (var user = new …
Run Code Online (Sandbox Code Playgroud)

active-directory ldapconnection c#-4.0

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

尝试使用userPrincipalName连接时出现LDAPException

我们对LDAP的客户端进行了新的增强,以启用使用登录userPrincipalName。他先前sAMAccountName用于登录。当用户尝试在其测试环境中测试应用程序时,他遇到以下错误userPrincipalName

netscape.ldap.LDAPException:错误结果(49); 80090308:LdapErr:DSID-0C0903C5,评论:AcceptSecurityContext错误,数据52e,v23f0 |#]

我知道这是因为LDAP的凭据无效。但是,当他使用sAMAccountName登录时,便可以登录。

我的Web应用程序日志显示他登录时 userPrincipalName,可以在LDAP中找到它,但是当它尝试使用用户名和密码连接到LDAP时,将引发上述异常。

而他可以使用成功登录 sAMAccountName

Dn的用法如下:

OU=IS (Technical Staff),OU=PXXX,DC=pxxx,DC=local , and
OU=Users,OU=PXXX,DC=pxxx,DC=local
Run Code Online (Sandbox Code Playgroud)

进一步调试问题的任何帮助将不胜感激。

如果您需要更多详细信息,请告诉我。

  • 域就像pxxx.local
  • userPrincipalName类似于abc.xyz@pxxx.org.uk。

我需要进行任何更改才能使其正常工作吗?

ldap active-directory ldapconnection

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

LDAP:错误代码 49 - 无法绑定 principalDn

我是 ApacheDS 的新手。我刚刚在 ApcheDS 中创建了一个新分区。当我尝试注册我的连接工厂时,出现上述错误..(使用 OracleAQ)

我的代码是;

    // ldap settings
        env.put(Context.INITIAL_CONTEXT_FACTORY, AQjmsConstants.INIT_CTX_FACTORY);
        env.put(Context.PROVIDER_URL, "ldap://localhost:10389/");
            env.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system,dc=acme,dc=com"); 
        env.put(Context.SECURITY_CREDENTIALS, "secret");
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
Run Code Online (Sandbox Code Playgroud)

我的 LDIF 文件看起来像;

dn: dc=acme,dc=com
objectClass: organization
objectClass: dcObject
objectClass: top
dc: acme
o: Acme,Inc

dn: cn=OracleContext,dc=acme,dc=com
objectClass: orclContext
objectClass: top
cn: OracleContext

dn: cn=db1,cn=OracleContext,dc=acme,dc=com
objectClass: orclContext
objectClass: top
cn: db1

dn: cn=OracleDBConnections,cn=db1,cn=OracleContext,dc=acme,dc=com
objectClass: orclContext
objectClass: top
cn: OracleDBConnections

dn: cn=OracleDBQueue,cn=db1,cn=OracleContext,dc=acme,dc=com
objectClass: orclContext
objectClass: top
cn: OracleDBQueue
Run Code Online (Sandbox Code Playgroud)

我的连接参数有什么问题?任何帮助将不胜感激?

谢谢,

ldap ldapconnection apacheds oracle-aq

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

PHP - 从 ldap_connect() 捕获超时异常

我用 PHP 编写了一个小监控脚本,它应该监控虚拟目录及其活动目录。一切正常,但当虚拟目录服务冻结时,我的 ldap_connect() 无法连接,但也没有返回错误。所以我的整个剧本停滞不前。我认为 ldap_connect 函数会超时(就像当您尝试 ping 一个 IP 但无法访问时)。

这是我的连接命令:

$connection = ldap_connect($hostname, $port) or die("Could not connect to {$hostname});
Run Code Online (Sandbox Code Playgroud)

我还没有在 ldap_connect() 手册中找到有关时间限制参数的内容您可以在其中定义函数应尝试连接多长时间直至中止。

然而我不太能想出一个解决方案与trycatch或类似的东西。我也不想使用该set_time_limit()函数,因为我的脚本需要运行到最后。

我感谢每一个帮助:)谢谢和问候蒂姆

php timeout ldap ldapconnection

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