Во-первых, я относительно новичок в Rails и, возможно, пропустил что-то довольно простое.
Я использую Devise и devise_ldap_authenticatable Gems для выполнения аутентификациипротив Active Directory.Аутентификация в AD работает, однако, когда пользователь входит в первый раз, он перенаправляется обратно на страницу / login.Запись для пользователя добавляется в базу данных, и на странице появляется флэш-сообщение (см. Ниже).Как только пользователь прошел аутентификацию в первый раз, и запись для пользователя была добавлена в локальную базу данных, все последующие входы в систему работают, как ожидается, и пользователь перенаправляется в root_path.
Примечание: я знаю, что происходитс флэш-сообщением я просто подозреваю, что что-то вызывает ошибку, которой нет в devise.en.yml, потому что что-то не так.Я могу легко добавить сообщение в этот файл, чтобы исправить это.Я оставил проблему, чтобы помочь с устранением неполадок.Я подозреваю, что правильным переводом будет: en.devise.sessions.signed_in: 'Вход выполнен успешно.'
- Использование devise (1.5.3)
- Использование net-ldap (0.2.2)
- Использование devise_ldap_authenticatable (0.5.1)
Flash-сообщение:
<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