2016-11-08 4 views
0

У нас есть пользовательское веб-приложение REST (на основе Java), которое использует имя пользователя/пароль для входа в систему. Вызовите это приложение «Администратор». Пользователи Admin также используют несколько коммерческих приложений на основе облачных вычислений, назовите эти App1 и App2. Что мне просили сделать, так это исследовать, как мы можем использовать один знак между Admin, App1 и App2. App1 и App2 могут быть настроены на использование SAML, и у меня есть полный доступ к коду приложения Admin. Я сделал предварительное чтение и понял принципы.Java и SAML - с чего начать?

Я хочу прототипировать некоторый код, но я не уверен, с чего начать! Например, как мне следует обратиться к поставщику удостоверений? Какой интерфейс должен реализовывать, есть ли абстрактный класс, который должен быть расширен? Аналогично для поставщика услуг. Учитывая, что App1 и App2 могут быть настроены на использование SAML, какие изменения/расширения необходимы для приложения Admin?

Большое спасибо M

+0

Вы смотрели на весеннем краткое руководство? http://docs.spring.io/spring-security-saml/docs/current/reference/html/chapter-quick-start.html Я бы загрузил его и посмотрел на пример. У вас есть собственный внутренний IDP, или вы хотите пойти с коммерческим провайдером? Я не уверен, почему ваша реализация приложения администратора будет отличаться. Если у вас нет опыта в этом, по сути, вы заменяете свою страницу входа на страницу входа IDP. Загрузите расширение весны, в котором есть пример того, как его реализовать. Если вы используете коммерческий сайт, у них также должно быть руководство. – Mike

+0

Спасибо, Майк. IDP - это то, что мы реализуем как часть общей задачи. Это также тот момент, который я решил начать с ... Не знаю, правильно ли это решение, но нужно что-то начинать, а правильное IDP будет, по крайней мере, разрешать SSO из двух коммерческих приложений. – BanditPig

+0

Я предполагаю, что у IDP есть место для начала. Наш IDP интегрирован с нашим LDAP, поэтому мы можем делать как внутренние, так и внешние логины, а также социальные логины (gmail, facebook, linkedin и т. Д.). Наша группа безопасности создала некоторые дополнительные службы вокруг нее, главным образом для конфигурации, которые позволяют нам изменять данные, возвращаемые при аутентификации, такие как группы LDAP и членства, разрешения и т. Д. Для обеспечения непрерывности. Авторизация управляется отдельно каждой из групп, использующих ее.Мы начали смотреть на поставщиков облачных IDP в будущем, в основном для аварийного восстановления и непрерывности бизнеса. – Mike

ответ

0

Отказ от ответственности: Я создатель pac4j.

Если у вас есть Java-приложения и хотите, чтобы защитить их с помощью SAML, вы обязательно должны взглянуть на pac4j, который является двигателем безопасности для многих рамок Java: J2E, Spring MVC/Boot, Play и так много больше.

Для поддержки SAML: http://www.pac4j.org/1.9.x/docs/clients/saml.html

+0

Спасибо, я посмотрю. – BanditPig

0

Шибболет обеспечивает как IdP и SP (реализуется с OpenSAML v3) для тестирования с:

Если вы хотите интегрировать SAML в свое приложение на Java, есть:

Смежные вопросы