Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 通过Desive进行LDAP身份验证-连接设置有问题_Ruby On Rails 4_Authentication_Devise_Ldap_Connection - Fatal编程技术网

Ruby on rails 4 通过Desive进行LDAP身份验证-连接设置有问题

Ruby on rails 4 通过Desive进行LDAP身份验证-连接设置有问题,ruby-on-rails-4,authentication,devise,ldap,connection,Ruby On Rails 4,Authentication,Devise,Ldap,Connection,我是ldap新手,我正在尝试使用designe_ldap_authenticable gem建立到远程ldap服务器的连接,以便从那里验证我的用户。我有麻烦了。问题是我不确定要将哪些数据放在哪里,我在控制台中收到的响应如下所示: LDAP:LDAP dn查找:memberUid=n.taranLDAP:LDAP搜索 login:memberUid=n.taranLDAP:LDAP搜索产生了8个匹配项 LDAP:授权用户cn=Mail,cn=Sites access,dc=mydomain,dc=

我是ldap新手,我正在尝试使用designe_ldap_authenticable gem建立到远程ldap服务器的连接,以便从那里验证我的用户。我有麻烦了。问题是我不确定要将哪些数据放在哪里,我在控制台中收到的响应如下所示:

LDAP:LDAP dn查找:memberUid=n.taran
LDAP:LDAP搜索 login:memberUid=n.taran
LDAP:LDAP搜索产生了8个匹配项
LDAP:授权用户cn=Mail,cn=Sites access,dc=mydomain,dc=com
LDAP:未授权,因为未经过身份验证。
LDAP:LDAP dn 查找:memberUid=n.taran
LDAP:LDAP搜索登录名: memberUid=n.taran
LDAP:LDAP搜索产生了8个匹配项
LDAP: 授权用户cn=Mail,cn=Sites access,dc=mydomain,dc=com
LDAP: 未授权,因为未通过身份验证。
已完成401 960ms内未经授权(ActiveRecord:1.9ms)

这是我应该在中使用的给定凭据 连接:

LDAP URL:ldap://ldap.mydomain.com
根DN: dc=mydomain,dc=com
BindDN:cn=proxy,dc=mydomain,dc=com
BindPassword:some_password
属性:memberUid

这是我的ldap.yml:

    authorizations: &AUTHORIZATIONS
    allow_unauthenticated_bind: false
    group_base: ou=groups,dc=test,dc=com

    required_groups:
        - cn=admins,ou=groups,dc=test,dc=com
        - cn=users,ou=groups,dc=test,dc=com
        - ["moreMembers", "cn=users,ou=groups,dc=test,dc=com"]
   require_attribute:
        objectClass: inetOrgPerson
        authorizationRole: postsAdmin

   ## Environment

    development:
      host: ldap.mydomain.com
      port: 389
      attribute: memberUid
      base: dc=mydomain,dc=com
      admin_user: cn=proxy,dc=mydomain,dc=com
      admin_password: some_password
      ssl: false
      # <<: *AUTHORIZATIONS

有人能帮我接通吗?也许,我需要什么信息,或者我在这整件事上做错了什么?提前谢谢你

更新:我找到了我问题的答案。问题是我的证件错了!如果有人遇到同样的问题——对我来说,正确的属性是“uid”,正确的基数是:ou=Employees,dc=mydomian,dc=com

在创建应用程序的LDAP配置之前,我使用LDAP浏览器(LDAP管理员-Softerra)测试计划使用的登录凭据,并检查模式。倾向于避免沮丧和意外

    Devise.setup do |config|
      # ==> LDAP Configuration 
    config.ldap_logger = true
    config.ldap_create_user = true
    config.ldap_update_password = true
    # config.ldap_config = "#{Rails.root}/config/ldap.yml"
    # config.ldap_check_group_membership = false
    # config.ldap_check_group_membership_without_admin = false
    # config.ldap_check_attributes = false
    config.ldap_use_admin_to_bind = true
    # config.ldap_ad_group_check = false

    #some more code

    config.authentication_keys = [:username]