使用Devise ldap身份验证时编码错误

Cru*_*her 5 ruby ldap ruby-on-rails devise

我一直在网上寻找答案,但我没有想法.我正在使用Devise with Rails 3来验证LDAP.我在Ruby 1.9.2中使用Rails 3.我使用mysql2作为数据库连接器.

我可以使用rails控制台,所以我知道我的地址,一切都是正确的.

我们有一个活动目录,为了进行身份验证,我们必须在登录名前加上系统.所以我的登录将是systems\crudbasher.

这在控制台中有效,但是当我有一个带有登录名和密码的表单时,我收到此错误.

Devise中的Encoding :: CompatibilityError :: SessionsController #create不兼容的字符编码: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!'
Run Code Online (Sandbox Code Playgroud)

我真的很难过.谢谢任何可以提供帮助的人!

kso*_*sol 1

编码总是一团糟。你尝试过玩弄encodeand吗force_encoding