我正在使用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
有什么想法为什么只能在生产中使用?
答案 0 :(得分:0)
我知道了!在我的LDAP.yml文件中,生产连接部分缩进了一个空格。这导致它无法正确加载配置。将生产部分向左对齐一直固定到位。现在一切正常。