CAS SSO с несколькими веб-приложениями - PullRequest
0 голосов
/ 26 мая 2011

Я провел последний день или около того, просматривая CAS, и сумел заставить сервер работать с простым тестовым приложением. Когда я вхожу в защищенную область, я перенаправляюсь на страницу входа - когда я вхожу, я возвращаюсь на мою предыдущую страницу.

Оттуда следующим шагом будет развертывание двух клиентских приложений, вход в клиент A, посещение защищенной области клиента B и система для меня, чтобы выполнить аутентификацию (поскольку я уже вошел в клиент A). *

Однако на самом деле это не работает. Я должен войти на сайт клиента B независимо от того, вошел я на сайт клиента A или нет.

CAS работает на Tomcat, клиенты A и B - это один и тот же проект, развернутый как отдельные войны на одном экземпляре JBoss AS 6.

Есть идеи, как мне достичь предложенного поведения?

РЕДАКТИРОВАТЬ: Да, оба используют CAS. Проблема в том, что он, похоже, не распознает, что пользователь уже вошел в систему. Это как если бы CAS не смог определить, что существует «связь» между двумя службами и что, когда одна служба была аутентифицирована другой сервис должен быть автоматически аутентифицирован.

Следует отметить, что на данном этапе я не использую SSL в приложении. Я сконцентрировался на том, чтобы подготовить простой пример и перейти к использованию HTTP, прежде чем я рассмотрю введение SSL.

Ответы [ 3 ]

1 голос
/ 29 мая 2011

CAS работал без SSL в том смысле, что он перенаправлял вас на сайт авторизации и правильно аутентифицировал вас.Проблема заключалась в том, что если вы пытались получить доступ через другой сайт, он попросил бы вас снова войти в систему.

Как только я включил SSL и попробовал его, он работал правильно.После входа в клиент A он автоматически аутентифицирует вас в клиенте B. Я провел некоторое время в вики, и, хотя в нем говорилось о важности использования SSL, я не припоминаю, чтобы в нем явно говорилось, что SSO не будет работать без включенного SSL.Может быть, предупреждение должно быть добавлено в вики?

1 голос
/ 26 мая 2011

Оба ваших приложения должны быть настроены на использование сервера CAS для аутентификации. Обычной процедурой было бы то, что приложение A перенаправляет вас на страницу входа в CAS, позволяет войти в систему и перенаправляет вас обратно на A. Если вы затем попытаетесь войти в B, он проверяет сервер CA, выполнили ли вы вход , если это так, отправляет обратно информацию о зарегистрированном пользователе.

Опять же, оба ваших приложения должны поддерживать CAS в качестве механизма входа в систему, в чем я не уверен из вашего описания.

Подробное описание протокола CAS можно найти здесь .

0 голосов
/ 29 августа 2014

Если вы хотите сосредоточиться на своих приложениях и упростить свою жизнь, используйте облачный провайдер для сервера CAS: http://www.casinthecloud.com (для тестирования доступны бесплатные серверы).

...