Аутентификация LDAP реализована в Rails с использованием https://github.com/plataformatec/devise/wiki/How-To:-Authenticate-via-LDAP и работает нормально.
Попытка использовать LDAP во время системных тестов http://guides.rubyonrails.org/testing.html#system-testing не удалась:
Rack app error handling request { POST /login }
#<NoMethodError: undefined method `[]' for nil:NilClass>
.../config/initializers/ldap_authenticatable.rb:92:in `ldap'
.../config/initializers/ldap_authenticatable.rb:60:in `bind_to_ldap'
.../config/initializers/ldap_authenticatable.rb:44:in `authenticate!'
Ошибка возникает из-за файла ldap.yml , похоже, тесты не могут прочитать конфигурацию из файла extern. Обходной путь для замены параметров LDAP
LDAP_CONFIG = YAML.load_file("#{Rails.root}/config/ldap.yml")[Rails.env]
def ldap
ldap = Net::LDAP.new({
:host => LDAP_CONFIG['host'],
:port => LDAP_CONFIG['port'],
...
с
def ldap
ldap = Net::LDAP.new({
:host => 'ldap.domainname.com',
:port => 636,
...
позволит избежать ошибки.
Пожалуйста, сообщите, если это ошибка.