标签: ldap

Drupal 7 LDAP集成

当安装Drupal 7模块http://drupal.org/project/ldap时,我收到错误.

没有为PHP加载LDAP扩展,因此LDAP将无法正常工作.(目前使用LDAP Extension Loaded Failed)

这是否意味着我必须为PHP安装ldap扩展?如果是这样,我如何在Ubuntu上执行此操作?

php apache drupal ldap drupal-7

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

Java 使用 Apache Directory 的 LDAP API 调用 Active Directory

我正在尝试使用 Apache Directory 的 LDAP API 从 Activiti 连接到 Active Directory。我想我已经设法对我的用户进行身份验证,但对用户的后续查询一无所获。

这是我的Java代码:

package com.abc.activiti.ldap;

import org.activiti.engine.ActivitiException;
import org.activiti.engine.identity.User;
import org.activiti.engine.impl.Page;
import org.activiti.engine.impl.UserQueryImpl;
import org.activiti.engine.impl.persistence.entity.UserEntity;
import org.activiti.engine.impl.persistence.entity.UserManager;
import org.apache.directory.ldap.client.api.LdapConnection;
import org.apache.directory.ldap.client.api.exception.LdapException;
import org.apache.directory.ldap.client.api.message.BindResponse;
import org.apache.directory.ldap.client.api.message.SearchResponse;
import org.apache.directory.ldap.client.api.message.SearchResultEntry;
import org.apache.directory.shared.ldap.cursor.Cursor;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.mina.core.session.IoSession;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class LDAPUserManager extends UserManager {
    private final static Logger logger = LoggerFactory.getLogger(LDAPUserManager.class);

    private LDAPConnectionParams ldapConnectionParams;

    public LDAPUserManager(LDAPConnectionParams ldapConnectionParams) {
        this.ldapConnectionParams = ldapConnectionParams;
    } …
Run Code Online (Sandbox Code Playgroud)

java search ldap active-directory apache-directory

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

通过 ssl 但没有密码在服务器上使用 ldapsearch

我们的组织需要 SSL 才能访问我们的 ldap 服务器。当我在 Mac OS X 的联系人应用程序中设置我们的 LDAP 服务器时,我能够很好地搜索我们组织中的人员。但是,使用命令行应用程序 ldapsearch 似乎不起作用。

问题是我们的组织在使用 SSL 时不需要用户名或密码。我似乎无法让 ldapsearch 不需要密码。

这是我正在使用的命令:

ldapsearch -H ldaps://ldap.example.com -b "" -s base "objectclass=*" 
SASL/DIGEST-MD5 authentication started
Please enter your password: 
Run Code Online (Sandbox Code Playgroud)

这是我的 /etc/openldap/ldap.conf 的内容

HOST ldap.example.com
PORT 636
TLS_REQCERT never
Run Code Online (Sandbox Code Playgroud)

以下是适用于 Mac OS X 的通讯录应用程序的设置,不需要用户名或密码:

LDAP 示例

用于此服务器的正确 ldapsearch 混合物是什么?

macos ldap

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

JAVA ldap错误NO_OBJECT

我更改密码或更新用户信息时遇到此错误.我尝试了很多彼此相似的代码,但我仍然遇到了错误.这个问题可能是一个糟糕的CN定义,但在我的情况下应该是正确的,我真的很难过,因为我无法面对这个问题.

  • 通过LDAP连接到服务器:好的.
  • SSL和cacerts:好的.
  • 通过代码添加用户:确定.
  • 获取所有用户信息:好的.
  • 更新用户的信息:.

这是一个简单的代码,我尝试更新用户的信息(描述),但没有成功.用户"蝙蝠侠"显然存在于AD中.

public class ADConnection {

DirContext ctx = null;
String baseName = ",OU=SoftwareV3,OU=SOFTWARE,DC=SOFTWAREDEV,DC=LOCAL";
String serverIP = "192.168.10.45";
boolean ssl = true;

public ADConnection() {
    try {
        Hashtable ldapEnv = new Hashtable(); 
        ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY,             "com.sun.jndi.ldap.LdapCtxFactory"); 
        if(ssl==true)
        {
            ldapEnv.put(Context.PROVIDER_URL, "ldaps://192.168.10.45:636/dc=softwaredev,dc=local");
            ldapEnv.put(Context.SECURITY_PROTOCOL, "ssl");
        }
        else
        {
            ldapEnv.put(Context.PROVIDER_URL, "ldap://192.168.10.45:389/dc=softwaredev,dc=local");
        }
        ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple"); 
        ldapEnv.put(Context.SECURITY_PRINCIPAL, new String("softwaredev" + "\\" +     "superadmin"));
        ldapEnv.put(Context.SECURITY_CREDENTIALS, "passw0rd");  
        ctx = new InitialDirContext(ldapEnv); 
    } 
    catch (Exception e) …
Run Code Online (Sandbox Code Playgroud)

java ldap

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

LDAP 搜索多个字段

我知道答案可能是否定的,但是,我想在放弃之前我不妨问问。

假设我的 LDAP 中有 3 个属性……全名、sn 和给定名……无论出于何种原因,管理员或正在输入的人都会输入一个人的“全名”作为姓氏、名字(sn、givenname),但是,我想搜索 firstname lastname (givenname sn)。

是否可以创建这样的过滤器:

(&((givenname sn)=Bob Smith))
Run Code Online (Sandbox Code Playgroud)

我已经试过了,它显然不起作用。这是我的应用程序的新要求,我无权更改全名在 LDAP 中的存储方式。

谢谢。

ldap

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

安装后的 OpenLDAP 管理员密码

我在 Ubuntu 14.04 上安装了 openLDAP 服务器并在安装过程中设置了管理员密码。但是现在我无法使用此密码进行连接。cn=admin 存在是因为当我以匿名用户身份登录时我可以看到它。我能做什么?

linux authentication ubuntu ldap ubuntu-14.04

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

LDAP:使用 Java 获取包含目录中所有用户信息的列表

我需要获取包含目录中所有用户信息的列表。我正在尝试通过以下代码获取:

        DirContext ctx = new InitialDirContext(env);

        boolean ignoreCase = true;
        Attributes matchAttrs = new BasicAttributes(ignoreCase);
        matchAttrs.put( new BasicAttribute("") );

        //LDAP_Attributes : Attributes of every user e.g. name, phone# etc.
        NamingEnumeration answer = ctx.search( "ou=People", matchAttrs, LDAPUser.LDAP_ATTRIBUTES );
Run Code Online (Sandbox Code Playgroud)

由于安全限制,我无法访问 LDAP 服务器,因此无法对其进行测试。请建议上述方法是否正确。谢谢!

java ldap

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

Ldapjs 搜索不起作用

我正在尝试使用“搜索”方法在 ldapjs 中进行搜索,但它对我不起作用。

这是来自终端的回应:

> Result is: SearchResponse {
  messageID: 2,
  protocolOp: 101,
  controls: [],
  log: 
   Logger {
     domain: null,
     _events: {},
     _eventsCount: 0,
     _maxListeners: undefined,
     _isSimpleChild: true,
     _level: 30,
     streams: [ [Object] ],
     serializers: 
      { req: [Function: req],
        res: [Function: res],
        err: [Function: err] },
     src: false,
     fields: 
      { name: 'ldapjs',
        component: 'client',
        hostname: 'nichita-Lenovo-ideapad-500-15ISK',
        pid: 29307,
        clazz: 'Client' } },
  status: 0,
  matchedDN: '',
  errorMessage: '',
  referrals: [],
  connection: 
   TLSSocket {
     _tlsOptions: 
      { pipe: undefined,
        secureContext: [Object],
        isServer: …
Run Code Online (Sandbox Code Playgroud)

javascript ldap ldapjs

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

使用 LDAP 在 Laravel 中进行身份验证/登录而无需管理员连接?

我试图让 Laravel 5.4 使用 LDAP 而不是传统的数据库方法对用户进行身份验证。

已经有一个库,Adldap2/Adldap2-Laravel。问题是这个库:

  1. 首先以管理员用户身份连接 LDAP 服务器
  2. 然后搜索想要登录我的应用程序的用户
  3. 检查密码是否正确
  4. 将与该用户关联的数据存储在“本地”Laravel 数据库中
  5. 以管理员用户身份重新连接到 LDAP

这在我的情况下不起作用,因为 LDAP 服务器中没有管理员,我 ?w?a?n?t? 必须连接到;只允许使用该应用程序的用户名,没有角色。

已存在的问题所示,我LoginController使用以下代码修改了该类(出于测试目的,我试图连接到此网页中提供的服务器:在线 LDAP 测试服务器)。

protected function attemptLogin(Request $request) {
    $conn_settings = config('adldap.connections')[config('adldap_auth.connection')]['connection_settings'];
    $credentials = $request->only(config('adldap_auth.usernames.eloquent'), 'password');

    $user_format = env('ADLDAP_USER_FORMAT', 'uid=%s,' . $conn_settings['base_dn']);
    $userdn = sprintf($user_format, $credentials[config('adldap_auth.usernames.eloquent')]);
    $pass = $credentials['password'];

    if(Adldap::auth()->attempt($userdn, $pass, $bindAsUser = true)) {
        return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

我现在遇到的问题是,一旦使用正确的凭据登录,我就会被送回登录表单。当凭据错误时,我会收到相应的错误消息。

我的配置文件,以防万一:

.env:

ADLDAP_CONTROLLERS=ldap.forumsys.com 
ADLDAP_BASEDN=dc=example,dc=com
ADLDAP_USER_FORMAT=uid=%s,dc=example,dc=com
Run Code Online (Sandbox Code Playgroud)

adldap_auth.php:

[
    'connection' => env('ADLDAP_CONNECTION', …
Run Code Online (Sandbox Code Playgroud)

php authentication login ldap laravel

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

如何在 C# Core 2 中使用 LDAP 查找用户组

我正在使用 C# Core 2,使用 Active Directory 作为Novell的身份验证方法- 我已经根据密码部分的工作验证用户,如果 AD 中的用户名和密码正确,则对其进行身份验证。

我想以同样的方式获取登录用户的用户组,以增加进一步的安全性[Authorize(roles="*")]

下面的代码是我到目前为止所拥有的,我知道连接是正确的,但是我无法在 SearchResults 中得到任何结果,它总是以 0 的计数返回。

我哪里错了?以前没有任何 Active Directory 暴露。

搜索功能:

    int searchScope = LdapConnection.SCOPE_BASE;
    string searchFilter = "(CN = " + username + ")";
    string searchBase = "OU=Users,OU=TOD,OU=Departments,DC=domain,DC=com";
    // folder structure Users/TOD/Departments/List of people

    // reading members of dynamic group could take long so set timeout to 10 seconds
    LdapSearchConstraints constraints = new LdapSearchConstraints();
    constraints.TimeLimit = 10000;

    #region connection
    string host = "mydomain.com";
    string un …
Run Code Online (Sandbox Code Playgroud)

c# ldap active-directory asp.net-core

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