【发布时间】:2015-05-04 18:39:49
【问题描述】:
我在 Rails 4 应用程序中使用带有 LDAP 身份验证的 Devise。 ldap.yml 看起来像
development:
host: my.ldap.server
port: 636
attribute: sAMAccountName
base: OU=Accounts,DC=my,DC=ldap,DC=server
admin_user: CN=ServiceAccount,OU=LDAP,OU=Service Accounts,DC=my,DC=ldap,DC=server
admin_password: super_secret_password
ssl: true
production:
...
我希望能够以编程方式访问它,但我不知道该怎么做。我可以通过直接从文件中读取来访问
但是,这并不是 100% 准确的,因为如果文件中的值在 Rails 服务器未重新启动的情况下发生更改,Rails 实际使用的“实时”值将会不同。
如何获得这些“实时”值?我在这方面找不到任何东西。
【问题讨论】:
-
Devise.ldap_config在您的控制台上工作吗?还有User.ldap_config?另外,我认为直接访问yaml文件没有什么大问题:如果您更改该值,无论如何都需要重新启动服务器! -
@dgilperez:
Devise.ldap_config给出 nil 并且User.ldap_config不存在。是的,这没什么大不了的,但它的某些东西让我很烦。 -
Devise::LDAP::Connection.new.ldap怎么样?那应该可以让您访问Devise::LDAP::Connection.new.ldap.host、Devise::LDAP::Connection.new.ldap.port等等。
标签: ruby-on-rails-4 devise ldap