我使用的是Rails 5.2,我有LDAP设置和开发方面的设计。使用capistrano部署到prod,但在输入用户名和密码时会出错。我在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有没有想过为什么它只在生产中这样做?
发布于 2019-03-15 21:18:05
我想通了!在我的LDAP.yml文件中,产品连接部分缩进了一个空格。这导致它无法正确加载配置。将产生式部分一直向左对齐解决了这个问题。现在一切都正常了。
https://stackoverflow.com/questions/55088054
复制相似问题