Вопрос

На данный момент у меня есть приложение Ruby on Rails, которое обслуживает моих пользователей, и отдельное приложение (Pentaho), которое использует Acegi/Spring Security для аутентификации пользователей.

Мне удалось изменить способ аутентификации пользователей Acegi/Spring Security, и теперь он указывает на базу данных моего приложения Ruby on Rails, и я могу нормально аутентифицировать пользователей с помощью входа в систему на основе формы.

Мне было интересно, можно ли перенаправить моих пользователей из моего приложения Ruby on Rails в Acegi/Spring Security от Pentaho и провести их аутентификацию без необходимости заполнения формы входа?(Я НЕ собираюсь использовать CAS/SSO)

Я провел небольшое исследование и увидел, что вы можете использовать:

Очевидно, что использование метода параметров URL-адреса небезопасно даже через HTTPS, поскольку он передает пароли в виде открытого текста (как и базовая аутентификация), поэтому мое последнее решение — дайджест-аутентификация.

Как мне передать учетные данные пользователя из моего веб-приложения Ruby on Rails в Pentaho, который использует аутентификацию Spring/Acegi и обеспечивает аутентификацию пользователя без необходимости заполнения формы?

Какие изменения мне нужно внести в среду Spring/Acegi?Какую ссылку или метод мне нужно будет создать в Ruby on Rails, чтобы сделать это?

Любая помощь будет оценена по достоинству!

Это было полезно?

Решение

Приложение (на стороне сервера), в котором пользователь уже вошел в систему, передает идентификатор пользователя другому приложению и получает взамен короткий действующий токен.Это безопасно, поскольку происходит между приложениями.Затем пользователь перенаправляется во второе приложение с токеном.Таким образом мы добились единого входа между двумя приложениями.Мне интересно узнать, достигли ли вы того же самого другими способами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top