| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > SpringSecurety и JAAS |
| Автор: Dreamtraveler 24.12.2009, 16:14 | ||
| Здравствуйте. Создал недавно приложение с использованием некоторых возможносте Spring. Появился вопрос о безопасности. Попробовал realm'ы Tomcat такие как JDBC, JAAS. Работает замечательно. Теперь хочу настроить Spring Security, конкретно JAAS, чтобы использовалась внутреняя безопасность приложения а не realm'ы Tomcat. Прочитал документацию По Java Authentication and Authorization Service (JAAS) Provider вроде показалось все легко. Но трудности все равно появились ))). У меня просьба может кто-нибудь дать ссылку на хорошую информацию по данной теме или рассказать здесь как мне прикрутить данную безопасность к своему приложению или дать пример ))). Некоторые вопросы: 1. У меня есть реализация Login Modul'я для realm'а Tomcat. Я могу использовать её для настройки Java Authentication and Authorization Service (JAAS) Provider'а следующим образом?(зеленый участок) 2. Правильно ли настроен красный участок 3. Как задать провайдера как в предпоследней строчке или как в голубом участке?
|
| Автор: MisterCleric 24.12.2009, 16:50 | ||||
| Привет. SpringSecurity для использования JAAS не юзал, но попробую поподсказывать. Так вот: 1. В красном участке убери
2. concurrent-session-control на практике мне хватило только настройки внутри тега http. Но также можно и переопределить тот, что по дефолту примерно так:
и обратить внимание на ID этого бина. Большенство сервисов по дефолту в SpringSecurity имеют ID с подчеркивание. И если ты его создаешь бинчик с таким же ID, то он перекроет тот, что подефолту. Для примера тут я использую бин по дефолту _sessionRegistry 3. authenticationManager можно и не создавать как бин. Он есть по дефолту. для того, что бы можно было использовать твой AuthenticationProvider достаточно его определить как бин в конфиге, что ты и сделал в зеленом блоке и пометить его как: <custom-authentication-provider/> 4. anonymous & rememberMe можно сконфигурить внутри http 5. Последняя строка ошибочная: AuthenticationProvider совсем не user-service... Вроде все. Разбор полетов начинается... |
| Автор: Dreamtraveler 24.12.2009, 17:31 |
| Спосибо буду пробовать.... И еще такой вопрос. Хочу использовать библиотеки: http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security/spring-security-3.0.xsd Там похоже немного по другому синтаксис чем в 2.0. может так получится что в jar'ах может неоказатся нужных методов для обработки синтаксиса 3.0? Где можно почитать про http тег и его параметры? |
| Автор: MisterCleric 24.12.2009, 17:37 | ||
Reference,который идет с дистрибутивом SpringSecurity. О 3.0 : не должно такого быть... Только вот вопрос: в каких jar'ах ? |
| Автор: Dreamtraveler 24.12.2009, 18:51 |
| ага читаю теги... jar'ы - как всегда конфликт библиотек. То методов нет, то вообще классов. К примеру: <!-- <beans:bean id="concurrentSessionController" class="org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy "> <beans:property name="maximumSessions" value="1"/>--> <!--<beans:property name="sessionRegistry"> <beans:bean class="org.springframework.security.core.session.SessionRegistryImpl"/> </beans:property>--> <!-- </beans:bean> --> Вот на это он заявляет что нет метода setSessionRegistry, да его и правда нет. Значит я взял настройки из примера, кстати на спринговском сайте (что ж они его не обнавляют?), где такой метод был, да и вообще похоже такой бин нельзя создать потому что нет у него конструктор по умолчанию, кажись. а на этот кусок: <http auto-config="true" access-denied-page="/accessDenied.jsp"> <intercept-url pattern="/plat.plt" access="user, admin"/> <intercept-url pattern="/rolvs.plt" access="admin"/> <intercept-url pattern="/use.plt" access="admin,nach"/> <intercept-url pattern="/Exit.plt" access="admin,nach,user"/> <form-login login-page="/logins.jsp" default-target-url="/" authentication-failure-url="/loginError.html"/> <logout logout-url="/" logout-success-url="/index.jsp"/> <!-- <concurrent-session-control max-sessions="1" expired-url="/logins.jsp"/>--> </http> (Tomcat) он тоже ругается говорит что нет какого-то метода парсера xml, чтобы что-то там прочесть. Вот такие вот дела пока грустные... |
| Автор: Dreamtraveler 25.12.2009, 20:31 |
| Ну вот собстственно и все работа закончена! Благодарю всех кто откликнулся! Добавил бы репутации , но что-то по правилам сто постов надо написать... Если у кого возникнут вопрсы по данной теме то пишите чем смогу помогу. |