ixrjog / opscloud4

云上运维
Apache License 2.0
1.32k stars 509 forks source link

ladp只支持ApacheDS吗?不支持OpenLDAP吗? #16

Closed Walker0909 closed 2 years ago

ixrjog commented 5 years ago

配置文件例子是ApacheDS的,如果用的是OpenLDAP则按其配置即可,LDAP协议都是支持的

Walker0909 commented 5 years ago

我的ldap信息如下: ldapHost = "192.168.2.100"; ldapPort = 389; ldapBindDN = "cn=ab_admin,dc=tbsign,dc=cn"; ldapPassword = "12345"; BASE_DN = "dc=tbsign,dc=cn";

配置文件里对应的配置信息如下:

ldap.url=ldap://192.168.2.100:389 ldap.base.dn=dc=tbsign,dc=cn

管理员账户,用户账户管理

ldap.manager.dn=cn=ab_admin,dc=tbsign,dc=cn

密码

ldap.manager.passwd=12345 ldap.group.dn=ou=group ldap.user.dn=ou=1

ldap.user.id=cn ldap.user.object=inetorgperson ldap.group.object=groupOfUniqueNames ldap.group.member=uniqueMember

帮忙确认下配置信息是否有误,另外 ldap.group.dn=ou=group ldap.user.dn=ou=1

ldap.user.id=cn ldap.user.object=inetorgperson ldap.group.object=groupOfUniqueNames ldap.group.member=uniqueMember 几个选项,openldap一般来说是不配置的,是否使用默认选项还是直接注释掉?

ixrjog commented 5 years ago

ldap.group.dn=ou=groups // 用户组的dn相对路径 (在ldap.base.dn下) ldap.user.dn=ou=users // 用户的dn相对路径 (在ldap.base.dn下) ldap.user.id=cn // cn或uid看配置 ldap.user.object=inetorgperson //用户Top对象 ldap.group.object=groupOfUniqueNames //用户组Top对象 ldap.group.member=uniqueMember //用户组中绑定用户的名称 以上参数都是必须的,使用ldap客户端登录openLdap查看

Walker0909 commented 5 years ago

十分感谢楼主,ldap在楼主的悉心指导下已配置完成,启动的时候不再报ldap相关的错误,但是用户信息现在还是没有,如图所示:

image

登录报系统错误,如图: image

image

麻烦帮忙看下是什么原因导致,是否是因为用户信息是采用定时同步的机制,还没到同步时间导致的? 感谢楼主的不吝赐教,再次感谢!

Walker0909 commented 5 years ago

现在在opscloud里新建的用户已经可以同步到ldap中去了,但是使用这个用户仍然无法登陆。

ixrjog commented 5 years ago

在oc创建用户或用ldap账户登录,才会在oc看到用户

发自我的 iPhone

在 2019年4月23日,11:19,Walker0909 notifications@github.com 写道:

十分感谢楼主,ldap在楼主的悉心指导下已配置完成,启动的时候不再报ldap相关的错误,但是用户信息现在还是没有,如图所示:

登录报系统错误,如图:

麻烦帮忙看下是什么原因导致,是否是因为用户信息是采用定时同步的机制,还没到同步时间导致的? 感谢楼主的不吝赐教,再次感谢!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

Walker0909 commented 5 years ago

没太明白您的意思?我现在登录的账号就是在ldap里已经存在的用户,但是登录的时候报系统错误。 Eg: image

image

image 系统未报异常。

Walker0909 commented 5 years ago

亲~怎么破呢?

ixrjog commented 5 years ago

opsadmin账户 DN: cn=opsadmin,dc=tbsign,dc=cn ? 是否有详细登录日志

guagua12312 commented 5 years ago

我是用在centos7中的ldap里面的用户登录windows中的apacheds,可以连接上ip,但是在认证的那个界面总报[LDAP:error code 49 - livalid Crentials]的错误

ixrjog commented 5 years ago

oc的ldap有很多配置项,需要按当前ldap配置修改

guagua12312 commented 5 years ago

dn: uid=vagrant,ou=People,dc=mycompany,dc=com objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount sn: vagrant givenName: vagrant cn: vagrant displayName: vagrant uidNumber: 1000 gidNumber: 1000+ gecos: vagrant 这是我的用户注册的信息,我在apache的authentication中应该怎么填?

ixrjog commented 5 years ago

ldap.url=ldap://xxx:389(样例中无法获取) ldap.base.dn=dc=mycompany,dc=com

管理员账户,用户账户管理

ldap.manager.dn=uid=admin,ou=system(管理账户dn)(样例中无法获取) ldap.manager.passwd=密码 ldap.group.dn=ou=groups(样例中无法获取) ldap.user.dn=ou=People ldap.user.id=uid ldap.user.object=inetorgperson ldap.group.object=groupOfUniqueNames (样例中无法获取) ldap.group.member=uniqueMember(样例中无法获取)

iiiusky commented 4 years ago

ldap.url=ldap://xxx:389(样例中无法获取) ldap.base.dn=dc=mycompany,dc=com

管理员账户,用户账户管理

ldap.manager.dn=uid=admin,ou=system(管理账户dn)(样例中无法获取) ldap.manager.passwd=密码 ldap.group.dn=ou=groups(样例中无法获取) ldap.user.dn=ou=People ldap.user.id=uid ldap.user.object=inetorgperson ldap.group.object=groupOfUniqueNames (样例中无法获取) ldap.group.member=uniqueMember(样例中无法获取)

想问一下,是不是同样适用于AD?

ixrjog commented 4 years ago

不能直接使用AD,需要修改代码

iiiusky commented 4 years ago

不能直接使用AD,需要修改代码

建议兼容下AD,很多公司也是在用AD来管理用户什么的

ixrjog commented 4 years ago

有空可以支持下,Opscloud实现了LDAP的CRUD,不是简单的只读查询

iiiusky commented 4 years ago

有空可以支持下,Opscloud实现了LDAP的CRUD,不是简单的只读查询

谢谢:P

huanzui commented 4 years ago

请教下 在用openldap时改成下面这样

spring: ldap: url: ldap://10.3.87.30:389 group: dn: ou=groups object: groupOfUniqueNames member: uniqueMember user: dn: ou=People id: uid object: inetorgperson base: dn: dc=join,dc=com manager: dn: uid=admin,ou=system passwd: admin123456

还是不需要spring

ixrjog commented 4 years ago

你这是老版本的吧 application-ldap-open.yml

# o - organization(组织-公司)
# ou - organization unit(组织单元-部门)
# c - countryName(国家)
# dc - domainComponent(域名)
# sn - suer name(真实名称)
# cn - common name(常用名称

spring:
  ldap:
    urls: ldap://127.0.0.1:10389
    base: ou=system
    username: 'uid=admin,ou=system'
    password: secret

ldap:
  custom:  {userId: cn,
            userBaseDN: ou=users,
            userObjectClass: inetorgperson,
            groupId: cn,
            groupBaseDN: ou=groups,
            groupObjectClass: groupOfUniqueNames,
            groupMember: uniqueMember}
huanzui commented 4 years ago

你这是老版本的吧 application-ldap-open.yml

# o - organization(组织-公司)
# ou - organization unit(组织单元-部门)
# c - countryName(国家)
# dc - domainComponent(域名)
# sn - suer name(真实名称)
# cn - common name(常用名称

spring:
  ldap:
    urls: ldap://127.0.0.1:10389
    base: ou=system
    username: 'uid=admin,ou=system'
    password: secret

ldap:
  custom:  {userId: cn,
            userBaseDN: ou=users,
            userObjectClass: inetorgperson,
            groupId: cn,
            groupBaseDN: ou=groups,
            groupObjectClass: groupOfUniqueNames,
            groupMember: uniqueMember}

原配置就是你这个,那意思是这个就是openldap的配置? 我以为上面的是apacheds的配置

ixrjog commented 4 years ago

只要是LDAP协议都支持,目前测试成功的有ApacheDS&ODS