исключение devise_ldap_authenticatable Net :: BER :: BerError после обновления 0.4.9 - PullRequest
0 голосов
/ 11 июля 2011

Я обновил devise_ldap_authenticatable gem с 0.4.6 до последней версии (0.4.9), и моя ранее работающая аутентификация LDAP теперь выдает следующее исключение при попытке аутентификации:

Net ::BER :: BerError в Devise :: SessionsController # create

Неподдерживаемый тип объекта: id = 139

В терминале выводится следующее:

Запуск POST "/ d / users / sign_in" для 127.0.0.1 в 2011-07-11 11:58:45 +0100 Обработка с помощью Devise :: SessionsController # create как параметры HTML: {"utf8" => "✓", "authenticity_token "=>" T + ttL / 6YPK1A / HE4XRukI7SKHDTVr553 / hOD + 5UyYUk = "," user "=> {" username "=>" admin "," password "=>" [FILTERED] "," Remember_me "=>"0"}, "commit" => "Войти"} SQL (0,4 мс) SELECT имя ОТ sqlite_master WHERE тип = 'таблица' И НЕ имя = 'sqlite_sequence'

Пользовательская загрузка (1,3 мс) SELECT"users". * FROM "users" WHERE "users". "username" = 'admin' LIMIT 1 LDAP: поиск LDAP: uid = admin Выполнено 500 Внутренняя ошибка сервера за 659 мс

Net :: BER :: BerError (неподдерживаемый тип объекта: id = 139):

Если я верну гем обратно к старой версии, все вернется к жизни (строгоЯ должен закомментировать "config.sign_out_via =: delete" в devise.rb тоже)

FWIW Я использую следующие гемы / версии:

  • Использование rails (3.0.9)
  • Использование devise (1.4.2)
  • Использование net-ldap (0.2.2)
  • Использование devise_ldap_authenticatable (0.4.9)

Если кто-нибудь знает, что происходит или может подсказать, что я могу посмотреть, чтобы отладить это, это будет очень цениться!

Ответы [ 3 ]

1 голос
/ 31 января 2012

почему вы не используете старый net-ldap?

gem install -V net-ldap -v 0.1.1

Я использую net-ldap версии 0.1.1, и она работает для ruby ​​1.9

1 голос
/ 11 июля 2011

После долгих копаний я отследил проблему до библиотеки net-ldap, версия 0.2.2.Я разбудил devise_ldap_authenticatable, чтобы создать версию с предыдущей версией net-ldap (0.1.1) в качестве зависимости.

Вы можете использовать мой форк, если вы действительно хотите, но я 'Я не буду поддерживать его - это всего лишь временная мера, пока:

a) Исправлена ​​ошибка с библиотекой net-ldap

b) У меня есть время углубиться в проблему и прийти к ней.с лучшим исправлением

Мой форк доступен по адресу: https://github.com/ashleytowers/devise_ldap_authenticatable

0 голосов
/ 21 октября 2011

Мой форк использует версию 0.2.2 net-ldap (но с fix )

Я выпустил его как драгоценный камень. Вы можете использовать его в своем Gemfile

gem "prathe_devise_ldap_authenticatable", :require => 'devise_ldap_authenticatable'
...