【发布时间】:2012-02-20 20:30:22
【问题描述】:
我一直在互联网上寻找答案,但我没有想法。我正在使用带有 Rails 3 的设计来通过 LDAP 进行身份验证。我正在使用带有 Ruby 1.9.2 的 Rails 3。我使用 mysql2 作为数据库连接器。
我可以让它与 rails 控制台一起使用,这样我就知道我的地址并且一切都是正确的。
我们有一个活动目录,为了进行身份验证,我们必须在登录名前加上系统。所以我的登录名是systems\crudbasher。
这在控制台中有效,但是当我有一个带有登录名和密码的表单时,我收到了这个错误。
Devise::SessionsController#create 中的编码::CompatibilityError 不兼容的字符编码:ASCII-8BIT 和 UTF-8
好的,我知道反斜杠有问题。我不明白的是如何解决它。
如果有帮助,完整的堆栈跟踪如下:
net-ldap (0.2.2) lib/net/ber/core_ext/array.rb:62:in `to_ber_seq_internal'
net-ldap (0.2.2) lib/net/ber/core_ext/array.rb:54:in `to_ber_contextspecific'
net-ldap (0.2.2) lib/net/ldap/filter.rb:509:in `to_ber'
net-ldap (0.2.2) lib/net/ldap.rb:1380:in `block in search'
net-ldap (0.2.2) lib/net/ldap.rb:1361:in `loop'
net-ldap (0.2.2) lib/net/ldap.rb:1361:in `search'
net-ldap (0.2.2) lib/net/ldap.rb:635:in `search'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:208:in `search_for_login'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:86:in `dn'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:124:in `authorized?'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/ldap_adapter.rb:14:in `valid_credentials?'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/model.rb:39:in `valid_ldap_authentication?'
activesupport (3.1.1) lib/active_support/core_ext/object/try.rb:32:in `try'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/model.rb:85:in `authenticate_with_ldap'
devise_ldap_authenticatable (0.6.0) lib/devise_ldap_authenticatable/strategy.rb:12:in `authenticate!'
我真的很难过。感谢任何可以提供帮助的人!
【问题讨论】:
标签: ruby-on-rails ruby devise ldap