2012-02-20 25 views
5

He estado buscando en Internet una respuesta a esto, pero me he quedado sin ideas. Estoy usando Devise with Rails 3 para autenticarse con LDAP. Estoy usando Rails 3 con Ruby 1.9.2. Estoy usando mysql2 como el conector de la base de datos.Error de codificación al usar la autenticación Devise ldap

Puedo hacer que funcione con la consola de rieles, así sé cuáles son mis direcciones y todo está correcto.

Tenemos un directorio activo y para autenticar tenemos que prefijar el nombre de inicio de sesión con los sistemas. Así que mi nombre de usuario sería systems \ crudbasher.

Esto funciona en la consola, pero cuando tengo un formulario con nombre de usuario y contraseña obtengo este error.

Codificación :: :: CompatibilityError en Diseñar SessionsController # crear codificación de caracteres incompatibles: ASCII-8BIT y UTF-8

Ok me sale que está teniendo un problema con la barra invertida. Lo que no entiendo es cómo solucionarlo.

La traza completa si ayuda es la siguiente:

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

estoy realmente confundido. ¡¡Gracias a cualquiera que pueda ayudar!!

Respuesta

1

La codificación es siempre un desastre. ¿Has intentado jugar con encode y force_encoding?

0

tenía este mismo problema y me fijo mediante la actualización de la biblioteca-LDAP neta a 0.3.1, pero que se rompió la mina get_ldap_email (que es igual que devise_ldap_authenticatable ejemplo, la página principal, Consulta LDAP)

también todo parecía estar está bien, pero no estoy 100% seguro si no se rompe nada más.

Editar: Al parecer también necesito para actualizar a la versión 0.4.7 devise_ldap_authenticatable o superior ->Ruby on Rails 3: Devise::LdapAdapter.get_ldap_param undefined method error

Pero no estoy seguro de cómo actualizar tanto, devise_ldap y net-ldap, y no romper mi actualización de paquete

Cuestiones relacionadas