我是LDAP的新手,现在已经玩了一段时间了。我有一个rails应用程序,如果他来自一个组,我需要对用户进行身份验证。我尝试了几个参数,但没有任何工作。任何帮助,将不胜感激。提前谢谢。
这是devise_ldap设置和终端输出。
devise_ldap设置 - ldap.yml
authorizations: &AUTHORIZATIONS
group_base: dc=skcript,dc=com
required_groups:
- ou=try1,dc=skcript,dc=com
- ["moreMembers", "cn=users,ou=groups,dc=test,dc=com"]
require_attribute:
objectClass: inetOrgPerson
authorizationRole: postsAdmin
development:
host: localhost
port: 389
attribute: "uid"
base: ou=try1,dc=skcript,dc=com
admin_user: cn=admin,dc=skcript,dc=com
admin_password: password
ssl: false
<<: *AUTHORIZATIONS
答案 0 :(得分:0)
这应该有效:
authorizations: &AUTHORIZATIONS
group_base: dc=skcript,dc=com
require_attribute:
objectClass: inetOrgPerson
authorizationRole: postsAdmin
uniqueMember: ou=try1,dc=skcript,dc=com
required_groups默认情况下会针对uniqueMember属性检查您的组dn。
检查LDAP服务器中存储组数据的属性是否具有相同的名称。
别忘了在你的devise.rb中设置它:
config.ldap_check_attributes = true
有关详细信息:https://github.com/cschiewek/devise_ldap_authenticatable/issues/96