Как внедрить систему единого входа

Я хочу внедрить SSO Single Sign On.
Я нашел много ссылок и статей, рассказывающих о CAS OpenID и многих других вещах, я действительно запутался
так должен ли я использовать CAS?
Я установил CAS Server и загрузил его в Tomcat. Что дальше?
Или это неправильно?
Можете ли вы объяснить мне, как я могу разработать простой HelloWorld для реализации SSO.

Огромное спасибо


person Amira Manai    schedule 09.02.2012    source источник


Ответы (1)


CAS — популярная реализация SSO, поэтому установка сервера CAS — хороший первый шаг. Вам понадобится сервер для всего, что вы планируете, и вы можете проверить его работу, не имея никаких других компонентов (инструкции есть в файле INSTALL.TXT, который входит в состав дистрибутива). Чего нельзя сказать о клиентах CAS, которые вы собираетесь написать.

После того, как вы запустили и запустили сервер CAS, у вас остались две основные задачи:

  1. Создайте или измените свое приложение, чтобы оно стало клиентом CAS.
  2. Замените обработчик аутентификации по умолчанию на полезный

Если вы похожи на меня, вы хотите как можно быстрее увидеть эту штуку в действии (или показать что-то своему менеджеру). В этом случае сначала выполните шаг 1, но не начинайте с реального приложения. Просто сделайте быстрый Hello World. Для этого есть специальные инструкции на https://wiki.jasig.org/display/CASUM/Demo. У вас уже установлен Tomcat, поэтому пропустите шаги 1 и 3. Если вы также включили HTTPS, вы также можете пропустить шаги 2 и 4 и сразу перейти к шагу 5. Как только вы это сделаете, у вас будет довольно хорошее представление о том, что вам нужно сделать для реального приложения, если вы будете реализовывать свой клиент CAS на Java.

Вам нужно выполнить шаг 2, потому что обработчик аутентификации по умолчанию полезен только для демонстрации. Любой совпадающий идентификатор пользователя/пароль (например, hello/hello) будет успешно аутентифицирован. Вероятно, вы будете аутентифицироваться либо в базе данных SQL, либо в каталоге, таком как Active Directory, или на сервере LDAP. CAS включает в себя обработчики аутентификации для всех этих вариантов использования, а также для других, но Jasig организует их как подпроекты, поэтому вам придется делать сборку Maven из исходного кода, чтобы использовать любой из них (что является большой головной болью, если вы спросите меня). Документацию о том, как можно найти на https://wiki.jasig.org/display/CASUM/Authentication, но если вы уже настроили Maven, это не так уж и плохо. Просто добавьте зависимость к включенному файлу pom.xml и выполните сборку.

Если вы новичок в системе единого входа, вам может быть сложно разобраться, поэтому делайте небольшие шаги и найдите время, чтобы понять, что вы делаете. Лучшее расширение CAS, которое я когда-либо видел, находится на https://www.purdue.edu/apps/account/html/cas_presentation_20110407.pdf. Он дает конкретные сведения, включая типичные записи журнала сервера, сведения о запросах и ответах, а также очень четкую диаграмму общего потока. Это должно быть все, что вам нужно, чтобы понять, что происходит.

Удачи.

person Mike E    schedule 01.03.2012
comment
Большое спасибо, это то, что я искал! - person Amira Manai; 07.03.2012
comment
@AmiraManai Если я ответил на ваш вопрос к вашему удовлетворению, вы должны указать это, приняв этот ответ. - person Mike E; 07.03.2012