LDAP组成员身份验证 - Rails

时间:2015-02-25 16:46:41

标签: ruby-on-rails ldap openldap

我是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

Terminal screen

1 个答案:

答案 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