仅产品中的LDAP Auth的设计问题

时间:2019-03-10 13:16:06

标签: ruby-on-rails devise ruby-on-rails-5.2

我正在使用Rails 5.2,并且已经设计了LDAP设置并正在开发中。使用capistrano部署到产品时,尽管输入用户名和密码会出错,但在devise :: sessions :: create中遇到了方法错误。 nil:NilClass的未定义方法“ []”。这是错误的部分:

end
    ldap_options = params
    ldap_config["ssl"] = :simple_tls if ldap_config["ssl"] === true
    ldap_options[:encryption] = ldap_config["ssl"].to_sym if ldap_config["ssl"]

    @ldap = Net::LDAP.new(ldap_options)

这是我的LDAP配置:

authorizations: &AUTHORIZATIONS
required_groups:
- CN=GROUP1,OU=Users,OU=mysite,DC=ad,DC=com

## Environment

development:
  host: mysite.com
  port: 389
  attribute: sAMAccountName
  base: dc=ad,dc=com
  admin_user: user
  admin_password: password
  ssl: false
  <<: *AUTHORIZATIONS

 production:
  host: mysite.com
  port: 389
  attribute: sAMAccountName
  base: dc=ad,dc=com
  admin_user: user
  admin_password: password
  ssl: false
  <<: *AUTHORIZATIONS

有什么想法为什么只能在生产中使用?

1 个答案:

答案 0 :(得分:0)

我知道了!在我的LDAP.yml文件中,生产连接部分缩进了一个空格。这导致它无法正确加载配置。将生产部分向左对齐一直固定到位。现在一切正常。