Во-первых, я относительно новичок в Rails и, вероятно, пропустил что-то довольно простое.Rails devise_ldap_authenticatable Исходный вход с ошибкой
Я использую Devise и devise_ldap_authenticatable Самоцветы для аутентификации в Active Directory. Однако аутентификация в AD работает, когда пользователь впервые регистрируется, когда пользователь перенаправляется обратно на страницу/login. В базу данных добавляется запись для пользователя, и на странице появляется флэш-сообщение (см. Ниже). Как только пользователь выполнил аутентификацию в первый раз, и запись для пользователя была добавлена в локальную базу данных, все последующие логины работают должным образом, и пользователь перенаправляется на путь root_path.
Примечание: Я знаю, что происходит с флэш-сообщением, я просто подозреваю, что что-то вызывает ошибку, которая не существует в devise.en.yml, потому что что-то не так. Я могу легко добавить сообщение в этот файл, чтобы исправить это. Я оставил проблему, чтобы помочь в устранении неполадок. Я подозреваю, что правильным переводом будет: en.devise.sessions.signed_in: «Подписан успешно».
- Используя изобрести (1.5.3)
- Использование нетто-LDAP (0.2.2)
- Использование devise_ldap_authenticatable (0.5.1)
флэш сообщение:
<div class="notice">translation missing: en.devise.user.user.signed_in</div>
Соответствующие маршруты:
devise_for :users, :skip => [:sessions]
as :user do
get "/login", :to => "user#new", :as => :new_user_session
post "/login", :to => "user#create", :as => :user_session
delete "/logout", :to => "user#destroy", :as => :destroy_user_session
end
application_controller.rb:
class ApplicationController < ActionController::Base
rescue_from DeviseLdapAuthenticatable::LdapException do |exception|
render :text => exception, :status => 500
end
protect_from_forgery
# Require user to be authenticated to dispay the page.
before_filter :authenticate_user!
end
Это было полезно для меня, спасибо за документирование решения. –