Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

spring-security доступ: а тому ли я дала

09.05.2013, 19:49. Показов 1801. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нет, я не девушка, просто решил привлечь внимание таким заголовком который вполне отражает суть проблемы Считайте что вопрос задаёт мой сервер, а пол у него женский.

Мне необходимо добавить защиту (авторизацию) к серверу который раздаёт различные сервисы клиентам (как они подключаются в принципе не важно). В итоге я полуил следующую конфигурацию sping-security части:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    <!--- My security -->
    <security:http realm="SecRemoting">
        <security:http-basic/>
 
        <security:intercept-url pattern="/HttpDepartmentService" access="ROLE_USER" />
    </security:http>
 
    <security:user-service id="uds">
        <security:user name="gepar" password="gepar"
                       authorities="ROLE_USER, ROLE_MANAGER, ROLE_ADMIN" />
        <security:user name="user" password="user"
                       authorities="ROLE_USER" />
    </security:user-service>
 
    <security:authentication-manager alias="authenticationManager">
        <security:authentication-provider>
            <security:user-service id="uds">
                <security:user name="gepar" password="gepar"
                               authorities="ROLE_USER, ROLE_MANAGER, ROLE_ADMIN" />
                <security:user name="user" password="user"
                               authorities="ROLE_USER" />
            </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>
Как видно из xml'ника, защищаю я HttpDepartmentService и в принципе всё работает: если зайти по этому адресу то я получаю запрос на авторизацию, всё хорошо (если прав недостаточно - соответственно ошибка томкетовская с руганиной на это) и с клиента всё хорошо авторизируется (использую апачевский http client что-то там) ... Только у меня как-то слишком мало всяких конфигов. Я до этого боялся spring-security потому что там какие-то DigestAuthenticationEntryPoint, exceptionTranslationFilter, filterSecurityInterceptor и прочее-прочее-прочее у других используется.

Но достаточно ли того что я сконфигурировал для защиты сервера? Или сейчас защиту легко обойти и вот этого моего конфига недостаточно и я тоже должен какие-то фильтры подключать с хитрыми алгоритмами? Всё же я хочу чтобы сервисом пользовались только авторизированные пользователи.

Ну и вопросы security касающиеся косвенно:
1)Как мне загружать конфигы по пользователям, паролям и ролям из файла и подсовывать их моему authenticationManager ? Это же как-то глупо что они вот так прямо посреди конфига записаны, уже хотя бы отдельно в файлике (без шифровок, хеширования и т.д, просто в файле) их видеть хотелось бы.
2)Как изменить страничку когда томкет ругается что доступа недостаточно, сейчас она стандартная, я хотел бы что-то своё написать (можно ткнуть носом в ссылку, я просто не знаю что гуглить).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2013, 19:49
Ответы с готовыми решениями:

Spring Security - анонимный и авторизованный доступ
Всем доброго времени. Есть REST метод, использующий авторизацию. Параметры заданны через аннотацию...

Как получить доступ к Spring Security из jsp?
Везде предлагают &lt;%@ taglib prefix=&quot;sec&quot; uri=&quot;http://www.springframework.org/security/tags&quot; %&gt;, но ссылка не работает. Вариант передавать...

Spring Security, как обеспечить доступ к персональным страницам только их владельцу
Есть пользователь пользователь может владеть несколькими заведениями, а может не владеть ни одним. Вопрос в том как настроить intercept-url...

6
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
09.05.2013, 20:21
Цитата Сообщение от Gepar Посмотреть сообщение
Или сейчас защиту легко обойти и вот этого моего конфига недостаточно и я тоже должен какие-то фильтры подключать с хитрыми алгоритмами?
обычно хватает хранить пароль в md5 в базе и доставать его кастом провайдером

а вот так делают кастом
http://forum.springsource.org/... er-Details
там в серединке пример расширения провайдера для работы с бд
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
09.05.2013, 21:45  [ТС]
mutagen, а куча фильтров мне не надо? У всех пачка фильтров, а я воспользовался стандартным конфигом и оно и так заработало, притом с куки, всё как положено. Я теперь думаю вот такую вот авторизацию оставить и к веб части или это плохая идея?
По учёткам сейчас схожу по той ссылке.

Добавлено через 4 минуты
Полезного не нашёл я там особо, но как я понял там подталкивают к идее написать свой authenticationManager, ну а вы подталкиваете меня к идее что он будет брать из базы данных информацию о логине, пользователе и правах, я правильно понял?

Добавлено через 28 минут
Нашёл на хабре в статье вот такое вот упоминание:
Пример записи (security.xml) при использовании БД для хранения паролей.
XML
1
2
3
4
5
    <authentication-manager>
        <authentication-provider>
            <jdbc-user-service data-source-ref="dataSource" />
        </authentication-provider>
    </authentication-manager>
К сожалению дальше эта идея не развита, как указать таблицу в базе где надо брать записи о пользователях и как они должны выглядеть при таком конфиге? Или это оно будет брать реаьных пользователей базы с их правами при такой конфигурации?

Добавлено через 33 минуты
Кстати, а можно ли сослаться не через jdbc-user-service data-source-ref, а что-то учитывающее хибернейт и jpa. Как-то тупо что у меня будет конфиг хибернейта для пользования всем и конфиг jdbc чтобы только юзер-пароль тягать
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
09.05.2013, 22:21
Цитата Сообщение от Gepar Посмотреть сообщение
брать из базы данных информацию о логине, пользователе и правах, я правильно понял?
да верно
Цитата Сообщение от Gepar Посмотреть сообщение
Или это оно будет брать реаьных пользователей базы с их правами при такой конфигурации?
да именно на это и рассчитано по датасорсу (скорее всего это безORMное решение для каких то целей)
Цитата Сообщение от Gepar Посмотреть сообщение
Как-то тупо что у меня будет конфиг хибернейта для пользования всем и конфиг jdbc чтобы только юзер-пароль тягать
согласен - поэтому реализовать кастом провайдера который тягает юзеров и пароли через хибернет более гибкое и на мой взгляд правильное решение.
1
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
10.05.2013, 02:25  [ТС]
К слову: а как у этого spring-security кеш чистить? Я так понял он запоминает веб-клиента по какой-то сводке информации, я просто вот один раз авторизировался в ie и он теперь всегда меня помнит (я кукисы и кеши уже все вычистил), зашёл с оперы -> появилось окошко ввода логина и пароля, но опять же таки после ввода и авторизации я теперь постоянно авторизированный на сервере чтобы я там в браузере не делал и не чистил.

Цитата Сообщение от mutagen Посмотреть сообщение
согласен - поэтому реализовать кастом провайдера который тягает юзеров и пароли через хибернет более гибкое и на мой взгляд правильное решение.
Ок, учту, пока оставлю конфиг прямо в xml'е, а когда закончу с gui и веб-мордочкой хоть какой-то то допишу нормальную тягалку логинов и паролей с базы.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
10.05.2013, 07:11
Цитата Сообщение от Gepar Посмотреть сообщение
чтобы я там в браузере не делал и не чистил.
хз где там бразёры всё кешат, поэтому чтобы инвалидировать сессию, можно просто выполнить логаут
по дефолтному урлу
Java
1
/j_spring_security_logout
или повесить свой логаут хендлер на кастом урл
по атрибуту
XML
1
logout-url
1
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
14.05.2013, 14:47
Цитата Сообщение от mutagen Посмотреть сообщение
обычно хватает хранить пароль в md5 в базе и доставать его кастом провайдером
Лучше все-таки не MD5, он ломается достаточно легко. SHA1 + salt - надежнее.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2013, 14:47
Помогаю со студенческими работами здесь

Jetty embedded + Spring MVC + Spring Security
Добрый день. По роду работы приходилось писать на JavaSE, в том числе и сложные клиент/серверные программы. Использовал Netty, Apache...

Spring. Тесты и Spring-security
Вопрос из области почему так. Есть у меня такой вот тест: @ContextConfiguration(locations =...

Spring security c 3 на 4
Не знаю почему, но после того, как перешел на spring security 4 возникает проблема. Захожу на страницу логина, ввожу имя и пароль....

Spring Security
Добрый день. Использую SpringSecurity: protected void configure(HttpSecurity http) throws Exception { ...

Spring Security + галерея
Добрый вечер. Моя задача фотогалерея с доступом по авторизации. Авторизацию сделал, а вот с галереей проблемы. Не понимаю как это вообще...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru