| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Spring security |
| Автор: Samotnik 22.9.2009, 11:05 |
| Есть приложение, поднятое на Спринге, на данный момент там реализован Spring - Security для одного приложения, назовем его first.war, все говорят, что для first.war при логине создается Тикет. Так вот мне нужно написать для приложения second.war такой же тикет Подскажите плиз, чего почитать по этому поводу. Со спрингом более- менее знаком, со Спринг - Секьюрити нет Может есть доки доступно обьясняющие что к чему ? |
| Автор: MisterCleric 22.9.2009, 11:20 | ||
Привет
О чем идет речь? Кто говорит? И что за тикет такой? |
| Автор: Samotnik 22.9.2009, 11:30 | ||
| ну вот я тоже не особо представляю о чем речь Вот вобщем есть такой таск (он был на немецком, я гуглом на инглиш перевел
|
| Автор: garbuz 22.9.2009, 18:18 |
Может имеется ввиду какой-то объект, который при логине создается? Исходники первого приложения есть? |
| Автор: Samotnik 22.9.2009, 21:28 |
| нету сырцов в этом и проблема. Ну ничего подожду - потом посмотрю, мот разберусь, что за тикеты такие |
| Автор: MisterCleric 22.9.2009, 21:58 | ||
Да хоть spring-security.xml то есть7 Давай его сюда: посмотрим |
| Автор: _sten_ 23.9.2009, 23:52 |
| http://en.wikipedia.org/wiki/Single_sign-on - single sign on Как я понял нужно прикрутить SSO к твоей апликухе. Тоесть если залогинился в first.war то в second.war уже логинится не надо... "Тикет" это что то типа обьекта сессии который выдает SSO сервер. |
| Автор: MisterCleric 24.9.2009, 09:46 | ||
О! Вот это интересно. С удовольствием почитаю возможные решения. Часто бывает такая задача... Но пока не решенная |
| Автор: _and 24.9.2009, 09:56 |
| MisterCleric, по SSO для java и не только, можно посмотерть этот проектег http://www.jasig.org/cas у Oracle AS тоже есть реализация SSO |
| Автор: MisterCleric 24.9.2009, 10:09 | ||
_and,
Спасибо, а меня интересует для JBOSS. Ну можно методами Spring. Хотя в доке о Spring-Security что о CAS видел.... Почитаю. Еще раз спасибо. А в двух словах можно как оно работает? |
| Автор: _sten_ 24.9.2009, 23:05 |
| CAS ставится как отдельный сервер. Каждый засекюреный сервер настраиваетс таким образом что при первом обращении идет редирект на CAS, где юзер логинится и редиректися обратно. Юзер получает тикет, в браузере сохраняется айди этого тикета в crossdomain cookies. Если юзер преходит на другой засекюреный сервер, то сервер обращается к CAS серверу с айдишником тикета и получает тот же тикет обратно. Таким образом второй раз логинится не надо. Вобщем тикет шарится между несколькими серверами. У спринга есть интеграция с CAS, на офф сайте даже пример есть |
| Автор: MisterCleric 25.9.2009, 12:53 | ||
Я, по-моему, уже просил предоставить spring-security.xml из первого приложения... |
| Автор: _sten_ 25.9.2009, 13:18 | ||
| вот здесь можеш посмотреть пример https://src.springframework.org/svn/spring-security/trunk/samples/cas вот секюрити контекст из того-же примера:
|
| Автор: Samotnik 25.9.2009, 13:29 | ||
нету этого файла в первом приложении Добавлено через 6 минут и 42 секунды на данный момент у меня вопрос немного поенялся, по сравнению с начальным постом. В данный момент меня интересует следущее. Значит захожу я по адресу http://localhost:8080/alfresco а меня выбрасывает вот на такую страницу https://localhost:8443/cas/login?service=http%3A%2F%2Falfresco%3A8080%2Falfresco%2Ffaces%2Fjsp%2Fdashboards%2Fcontainer.jsp так вот собственно вопрос. Что отвечает за этот редирект ? Ведь это должно быть происанно в web.xml приложения alfresco правда ? Так вот что именно искать в этом web.xml ? |
| Автор: _sten_ 25.9.2009, 13:38 |
| должен быть какойто фильтр. и покажи свой web.xml |
| Автор: Samotnik 25.9.2009, 14:34 |
это трудно, там 700 строк кода. Но фильтр я нашел, их там тоже хватает. Какой именно искать нужно ? |
| Автор: _sten_ 25.9.2009, 15:25 |
| для интеграци со спрингом создается org.springframework.web.filter.DelegatingFilterProxy, но он просто делегирует фильтрацию на фильтры обьявленые в security-context.xml(или application-context.xml или как ты там его назвал скачай тот пример который я скинул там все понятно.... |
| Автор: Samotnik 25.9.2009, 15:54 | ||
_sten_, вот фильтры из web.xml моего
они ? где обработчики теперь на них искать ? |
| Автор: MisterCleric 25.9.2009, 16:17 |
| рядом должна быть XML-ка, которая содержит spring-конфигурацию стандартного спринговского метода авторизации через CAS. Вот теперь все понятно, что оно у тебя нормально настроено. Надо только посмотреть на эту конфигурацию, что бы понимать по словам _sten_, что нужно забрать в твое новое приложение |
| Автор: Samotnik 25.9.2009, 17:09 | ||
| Так нашел xml Скорее всего вот она
Я так понмаю, что с помощью ее вызывается какой то стандартный класс и таким образом редиректит на страницу ? Далее Допустим разобрались каким образом он редиректит, теперь встает вопрос о том, каким образом он проверяет прошел ли пользователь аутентификацию ? Как CAS знает, какие пользователи уже есть в системе и какие у них права ? |
| Автор: MisterCleric 25.9.2009, 17:45 | ||
Это в доку 0 читать. Мы сами толком не знаем: уже бы ответели. Я, думаю, тебе не надо заморачиваться. просто в свое приложение копируешь данный конфиг и тестишь |
| Автор: Samotnik 25.9.2009, 18:21 |
| MisterCleric, не совсем так. Мне еще очень важно знать, что cas еще знает про пользователя ! Это важно ! Какие еще данные доступны? Что можно дернуть из него ? |
| Автор: _sten_ 25.9.2009, 21:35 | ||||
как я уже писал кас сохраняет айди сессии в crossdomain cookie, твой сервер передает кас серверу эту айдишку при проверке аутентификации.
это зависит от того как настроен кас сервер, у него есть своя БД(скорей всего LDAP). Также после успешной аутентификации ты можеш получить дополнительные параметры юзера из своей локальной БД, поищи в своем xml чтото вроде UserDetailsService Добавлено через 5 минут и 41 секунду вобще можно было бы не ленится и почитать доку |
| Автор: Samotnik 28.9.2009, 10:38 |
http://static.springsource.org/spring-security/site/docs/2.0.x/reference/cas.html ? |
| Автор: magicfly 28.9.2009, 16:45 |
| советую загуглить spring in action, там есть подробный пример как это делается. К сожалению, по памяти рассказать не могу |