@semexion

Как реализовать SSO(доменная авторизация) на сайте (JAVA Servlet)?

Добрый день, перерыл весь интернет но не нашел или не понял материала в виду недавнего изучения JAVA, по данному вопросу.
Как реализовать доменную авторизацию на стороне сервера JAVA. Насколько я понимаю сервер должен в ответ на GET запрос посылать HTTP-код 401 «Not Authorized», и в HTTP-заголовках и если сайт находится в интрасети то браузер передает токен.
Как реализовать данный механизм может есть пример или где почитать об этом.

Для серверной части использую Java, в частности Servlet.
В качестве контейнера использую Tomcat 8.

Сама авторизация на ресурсе не совсем нужна, смысл заключается в том что бы получить sign-on ticket для авторизации на Call Manager CISCO путем создания провайдера в сервлете java.

Выдержка из документации:
Single Sign-On
The Single Sign-On feature allows Cisco JTAPI applications to use the single sign-on ticket to
authenticate instead of a user ID and password.
Applications fetch the service ticket for the OpenSSO server from the active directory and then pass the
ticket to Cisco JTAPI in the string used in the getProivder(String str) API. Applications can set the single
sign-on ticket as ssoticket="ssotokenfromad".
Only end users can use this feature.
Applications using this feature need not specify the user ID and password in the getProvider string.
If an application is used by an end user and has the Standard CTI Secure Connection role enabled, then
a user ID is required in the provider string. No password is required.
This solution is designed around an active directory with a Kerberos environment to achieve Windows
desktop Single Sign-On. If an active directory with a Kerberos environment is unavailable, then an
alternate equivalent setup is available, which includes a KDC, an authentication server, and a domain
controller.
  • Вопрос задан
  • 1094 просмотра
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch
3Д специалист. Долго, Дорого, Дерьмово.
1) если нужна авторизация на удаленном сервере, то смотреть на pac4j и/или apache shuro.
2) если сервера авторизации нет, то либо свой писать (можно используя п1), либо используйте CAS-сервер типа apereo.
Экзамплов полно во всех двух пунктах.
Ну а по хорошему, если у вас винда-домен, то лучше всего тикеты получать через NTLM. Тоже самое можно сделать на samba.
Ответ написан
Комментировать
@semexion Автор вопроса
Используя пакеты javax.servlet.http.* нельзя получить тиккет от браузера?
Насколько я знаю браузер получая в респонзе WWW-Authenticate: Negotiate автоматом должен отправить повторный запрос на сервер но уже с тиккетом?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы