Я создал приложение, которое позволяет пользователю проходить аутентификацию в Active Directory, используя omniauth-ldap.Если это новый пользователь, успешная аутентификация создает пользователя для него на основе информации, возвращаемой из AD.Если пользователь уже существует, он просто входит в систему. Пользователи не регистрируются в приложении, они просто входят в систему с учетными данными AD.И я никогда не хочу, чтобы пользователь входил в систему с учетными данными базы данных.
Я не могу понять, как избавиться от некоторых маршрутов или изменить их.Например, если пользователь посещает / sign_in, он получает аутентификацию базы данных.И если пользователь заходит в sign_up, он попадает на страницу, чтобы зарегистрироваться на сайте.Я хотел бы, чтобы пользователи, которые посещают / sign_in, перешли на страницу входа в систему LDAP, которая называется / users / auth / ldap.Я думаю, что мне нужно создать собственный маршрут, но я не уверен, на какой контроллер мне нужно направить пользователя.И я хочу, чтобы страница sign_up полностью исчезла.
Прямо сейчас у меня есть ссылка, которая позволяет пользователям входить в систему с использованием ldap, и путь для этого - user_omniauth_authorize_path (: ldap).Я просто не уверен, как перевести это в то, что понимает мой файл config / rout.rb.Это то, что я сейчас имею в маршрутах.
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } do
get 'sign_in', :to => 'devise/sessions#new', :as => :new_user_session
get 'sign_out', :to => 'devise/sessions#destroy', :as => :destroy_user_session
end
Когда я запускаю рейковые маршруты, я не вижу ни одного маршрута для user_omniauth_authorize_path, который, как я предполагаю, связан с тем, что этот маршрут генерируется devise.Поэтому я считаю, что мои маршруты должны указывать на контроллер устройства, но я не могу найти правильный путь.