小编Ter*_*ner的帖子

使用SASL和OpenLDAP对Active Directory进行SVN身份验证

我一直在关注我在网上找到的所有指南,以获得一个正常工作的svnserve + SASL + OpenLDAP配置,我让一切都工作了大约一天,然后在玩svn + ssh之后我就不得不打破一些东西而且可以'让它再次运作.

在我的/ srv/svn/repo/conf/authz文件中,我列出了这样的Active Directory组:

Admins = User One, User Two
Engineers = Other User, Someone Else
Run Code Online (Sandbox Code Playgroud)

它使用每个用户的CN来处理那些以前工作的组,但现在我可以让我的SVN客户端进行身份验证的唯一方法是,如果我在authz文件中为这些组指定用户名而不是CN.

以下是我的配置(在Gentoo系统上,为安全性编辑了域名和密码):

/etc/conf.d/saslauthd:

SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -a ldap"
Run Code Online (Sandbox Code Playgroud)

/etc/saslauthd.conf:

# LDAP auth/lookup settings
ldap_servers: ldap://domain.com
ldap_default_domain: domain.com
ldap_search_base: DC=domain,DC=com
ldap_bind_dn: CN=LDAP Bind,CN=Users,DC=domain,DC=com
ldap_bind_pw: password

# AD Options
ldap_deref: never
ldap_restart: yes
ldap_use_sasl: no
ldap_start_tls: no
ldap_version: 3
ldap_auth_method: bind
ldap_filter: sAMAccountName=%U
ldap_password_attr: userPassword
ldap_timeout: 10
ldap_cache_ttl: 30
ldap_cache_mem: 32768
ldap_mech: PLAIN
Run Code Online (Sandbox Code Playgroud)

/etc/sasl2/svn.conf:

pwcheck_method: saslauthd
auxprop_plugin: ldap
mech_list: PLAIN LOGIN
ldapdb_mech: …
Run Code Online (Sandbox Code Playgroud)

svn gentoo sasl

5
推荐指数
0
解决办法
2090
查看次数

如何获取所有LDAP条目?

我知道LDAP绑定如何使用搜索进行身份验证,但如果我想要所有的全名条目,我该怎么办...那么如何才能获得所有人的全名或电子邮件?

下面我使用LDAP绑定进行身份验证,我可以搜索一个人,但如果我想要它们怎么办?

<?php

// using ldap bind
$ldaprdn  = 'uname';     // ldap rdn or dn
$ldappass = 'password';  // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap.example.com")
    or die("Could not connect to LDAP server.");

if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }

}

?>
Run Code Online (Sandbox Code Playgroud)

这是我的一些MySQL代码填充html列表:

<ol>     

<?php
mysql_connect("kool", "ohjoa", "sampa") or die(mysql_error());
mysql_select_db("DBtest") or die(mysql_error()); …
Run Code Online (Sandbox Code Playgroud)

php ldap

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

使用Java获取LDAP域用户名列表

ldap用户名需要作为自动完成功能显示在输入框中.我想获得如下用户列表:

        String ldapURL = "ldap://192.26.75.5:389/dc=northamerica,dc=company,dc=com";
    String principalPrefix = "domainName";      
    String username = SecurityContextHolder.getContext().getAuthentication().getName();
    String password = SecurityContextHolder.getContext().getAuthentication().getCredentials().toString();

    Hashtable<String, String>environment = new Hashtable<String, String>();
    environment.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
    environment.put(Context.PROVIDER_URL,ldapURL);
    environment.put(Context.SECURITY_AUTHENTICATION,"simple");
    environment.put(Context.SECURITY_PRINCIPAL,principalPrefix + "\\" + username);
    environment.put(Context.SECURITY_CREDENTIALS,password);
    environment.put( Context.REFERRAL, "follow" );

    DirContext context = null;
    NamingEnumeration<SearchResult> enumResult = null;      
    try
    {
                    context = new InitialDirContext(environment);                       
                    SearchControls controls = new SearchControls();                     
                    controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
                    String[] attrIDs ={"ou","uid", "givenname", "sn", "mail"};
                    controls.setReturningAttributes(attrIDs);
                    enumResult = context.search("","(&(objectCategory=person)(objectClass=user)(CN=*))", controls);                     
                    if(enumResult != null)
                    {
                                    //authentication successful                                 
                    }                       
    }
    catch(Exception e){
        System.out.println(e.getMessage());
    }
Run Code Online (Sandbox Code Playgroud)

但是"enumResult"总是获得单个用户价值.如果我错过了某些内容或者错误的方法,请告诉我.任何帮助/建议/建议将不胜感激!谢谢.

java ldap spring-ldap adldap

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

如何以编程方式判断 Mac OS X 计算机是否绑定到 Active Directory 域?

此命令:dsconfigad -show执行我需要的操作,但我需要管理员权限才能运行它。

上面的命令输出了一些我感兴趣的信息:

You are bound to Active Directory:
      Active Directory Forest        = xx.xxxxxx.local
      Active Directory Domain        = xx.xxxxxx.local
      Computer Account               = (computer name)
Run Code Online (Sandbox Code Playgroud)

我希望能够以Active Directory Domain编程方式看到上面的内容,并且最好不需要具有 sudo 权限。

有什么建议?我已经浏览了 Open Directory 文档,但对我来说如何做到这一点并不完全显而易见。我还尝试了一些代码示例,只是为了查询 AD 中的某些内容而没有成功……我将继续努力,但我希望这里有人有一些知识可以分享。

macos active-directory

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

上次备份活动目录时获取

有没有人知道我们如何找到

上次使用C#备份活动目录时?

据我所知,当我们运行这个命令时,repadmin/showbackup

它将向我们展示全部细节.我试图使用C#获得dsa签名的价值,但即使这个值也没有多大意义,并且将帮助我们获得正确的信息.

喜欢从哪个域控制器备份启动和何时?

任何人都知道如何使用C#获取活动目录的最后一个备份细节?

提前致谢

c# active-directory

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

使用 Windows 身份验证作为 Intranet 应用程序的登录凭据

我正在使用 PHP 开发 Intranet Web 应用程序。我正在尝试使用 Windows NT 登录凭据登录到应用程序。我在这里遇到的麻烦是如何获取远程用户的 Windows 用户名?我想获取用户名,然后检查各种 LDAP 组,以便我可以将它们定向到我的应用程序中的适当页面。

我到目前为止尝试过

<?php
echo $_SERVER['REMOTE_USER'];
echo $_SERVER['PHP_AUTH_USER'];
?>
Run Code Online (Sandbox Code Playgroud)

它们都返回空值。

更新:使用 $_SERVER['REMOTE_ADDR'] 我能够获得计算机的 IP 地址。无论如何我可以获得用户名/用户名(任何唯一的东西)并使用它来与 LDAP 组进行比较?当他们进入网站的主页并存储会话,然后在整个网站中使用会话变量时,我想这样做。

php windows authentication windows-nt

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

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
查看次数

活动目录:成员和成员属性关系

member在Active Directory中修改组的属性(比方说asdiedit),会自动修改memberOf相应用户的属性吗?

作为次要问题,组中的设置成员会allowedAttributesEffective自动在allowedAttributesEffective所有用户的属性中添加memberof 吗?

我还没有修改member属性的权限,所以我不能自己测试.

active-directory

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

LDAP 嵌套组成员资格过滤器

我尝试使用 LDAP 匹配规则,但无法使用 LDAP 匹配规则过滤器检索搜索条目。

这就是我发送过滤器的方式:filter (&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=)(cn=gasaxena))

我也将过滤器转储到 ldap 服务器上收到的 pcap 中,如下所示:过滤器:(&(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=[NULL]))(cn=gasaxena))

有人可以指出,如果我错过了什么吗?服务器是AD

ldap active-directory

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

在结果中包含 LDAP 用户的启用/禁用帐户状态

运行 ldap 搜索查询时,我想返回结果中用户的状态。即包括一个标识用户帐户是否被禁用的属性。

这是我正在使用的过滤器:

"(&(objectClass=user)(objectCategory=person))"
Run Code Online (Sandbox Code Playgroud)

我见过允许您过滤掉禁用帐户的示例,但我想返回启用和禁用的帐户,但带有一个标志来标识此状态。是否可以?

active-directory

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