2012-02-20 38 views
5

Tôi đã tẩy sạch Internet để có câu trả lời cho điều này nhưng tôi không có ý tưởng. Tôi đang sử dụng Devise với Rails 3 để xác thực với LDAP. Tôi đang sử dụng Rails 3 với Ruby 1.9.2. Tôi đang sử dụng mysql2 như là kết nối cơ sở dữ liệu.Lỗi mã hóa khi sử dụng xác thực ldap Devise

Tôi có thể làm việc này với bảng điều khiển đường ray để tôi biết địa chỉ của mình và mọi thứ đều chính xác.

Chúng tôi có thư mục hoạt động và để xác thực chúng tôi phải đặt trước tên đăng nhập bằng hệ thống. Vì vậy, đăng nhập của tôi sẽ là hệ thống \ crudbasher.

Điều này hoạt động trong bảng điều khiển nhưng khi tôi có biểu mẫu có tên đăng nhập và mật khẩu, tôi nhận được lỗi này.

Encoding :: CompatibilityError trong lập mưu :: SessionsController # tạo bảng mã ký tự không tương thích: ASCII-8 bit và UTF-8

Ok tôi nhận được rằng nó đang gặp vấn đề với dấu chéo ngược. Những gì tôi không hiểu là làm thế nào để sửa chữa nó.

Các ngăn xếp đầy đủ dấu vết nếu nó giúp là thế này:

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!' 

Tôi thực sự bối rối. Cảm ơn mọi người có thể giúp !!

Trả lời

1

Mã hóa luôn là một mớ hỗn độn. Bạn đã thử đùa giỡn với encodeforce_encoding?

0

Tôi có vấn đề này cùng và tôi cố định bằng cách cập nhật thư viện net-ldap để 0.3.1, nhưng điều đó đã phá vỡ tôi get_ldap_email (mà chỉ là như devise_ldap_authenticatable chính ví dụ trang, Truy vấn LDAP)

Ngoài ra tất cả mọi thứ dường như là ok nhưng tôi không chắc chắn 100% nếu không có gì khác bị hỏng.

Chỉnh sửa: Rõ ràng tôi cũng cần phải cập nhật lên phiên bản 0.4.7 devise_ldap_authenticatable hoặc cao hơn ->Ruby on Rails 3: Devise::LdapAdapter.get_ldap_param undefined method error

Nhưng tôi không chắc chắn làm thế nào để cập nhật cả hai, devise_ldapnet-ldap, và không phá vỡ cập nhật bó của tôi

Các vấn đề liên quan