ldap服务启动时报错,第1张

移除(或删除) /var/lib/ldap的这些文件: alock __db001 __db002 __db003 __db004 __db005 __db006

然后重启就可以启动了!

在 LDAP 的协议之中,很像硬盘目录结构或倒过来的树状结构。LDAP 的根就是全世界,第一级是属于国别 (countries) 性质的层级,之后可能会有公司 (organization) 的层级,接着是部门 (organizationalUnit),再来为个人。而就像文件,每个人都会有所谓的显名 (distinguished name, 简称 dn),dn 可能像酱子 cn=John Smith,ou=Accounts,o=My Company,c=US。

<php

// 本例使用到 connect, bind, search, interpret search

// result, close connection 等等 LDAP 的功能。

echo "<h3>LDAP 搜寻测试</h3>";

echo "连接中 ";

$ds=ldap_connect("localhost"); // 先连上有效的 LDAP 服务器

echo "连上 "$ds"<p>";

if ($ds) {

echo "Binding ";

$r=ldap_bind($ds); // 匿名的 bind,为只读属性

echo "Bind 返回 "$r"<p>";

echo "Searching for (sn=S) "; // 找寻 S 开头的姓氏

$sr=ldap_search($ds,"o=My Company, c=US", "sn=S");

echo "Search 返回 "$sr"<p>";

echo "S 开头的姓氏有 "ldap_count_entries($ds,$sr)" 个<p>";

echo "取回姓氏资料 <p>";

$info = ldap_get_entries($ds, $sr);

echo "资料返回 "$info["count"]" 笔:<p>";

for ($i=0; $i<$info["count"]; $i++) {

echo "dn 为: " $info[$i]["dn"] "<br>";

echo "cn 为: " $info[$i]["cn"][0] "<br>";

echo "email 为: " $info[$i]["mail"][0] "<p>";

}

echo "关闭链接";

ldap_close($ds);

} else {

echo "<h4>无法连接到 LDAP 服务器</h4>";

}

>

一般说来LDAP服务端只存放用户名密码等信息,

Redmine拿着从页获取的用户名和密码去服务端认证

不通过的原因可以从两个方面着手检查

1,Redmine自身是否拿着正确的用户名和密码去LDAP服务器查询了

2,LDAP服务数据库里是否存在咱们认为的正确的用户名和密码

仅供参考:

import ldap

from auth_ldapconfig import LDAPSearch,PosixGroupType,ActiveDirectoryGroupType

AUTH_LDAP_SERVER_URI = 'ldap://gfacser020xxxxcom:389'

AUTH_LDAP_BIND_DN = 'cn=test,ou=ldpusers,dc=xxx,dc=com'

AUTH_LDAP_BIND_PASSWORD = "xxxxx"

AUTH_LDAP_USER_SEARCH = LDAPSearch('DC=xxxx,DC=com', ldapSCOPE_SUBTREE, '(sAMAccountName=%(user)s)',)

# Populate the Django user from the LDAP directory

AUTH_LDAP_USER_ATTR_MAP = {

'first_name': 'mailNickname',#mailNickname givenName

'email': 'mail',

}

# This is the default

AUTH_LDAP_ALWAYS_UPDATE_USER = False

# Cache group memberships for 5 minutes to reduce LDAP traffic

AUTH_LDAP_CACHE_GROUPS = True

AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600

AUTH_LDAP_GLOBAL_OPTIONS = {

ldapOPT_X_TLS_REQUIRE_CERT: False,

ldapOPT_REFERRALS: False,

}

# Keep ModexampleBackend around for per-user permissions and maybe a local superuser

AUTHENTICATION_BACKENDS = (

'auth_ldapbackendLDAPBackend',

'djangocontribauthbackendsModelBackend',

)

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ldap服务启动时报错

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情