ru_java, posts by tag: security - LiveJournal (original) (raw)
Java + SSL(pkcs12) - небольшое HowTo
Хочу поделиться с обществом моим How-To по подсоединению через Java ко всяким HTTPS-секьюрным серверам. Итак, имеем:Java и SSL!
Не так то просто наладить взаимодействие этой сладкой парочки. В порыве гугления я обнаружил некоторые типовые рецепты работы:
http://www.agentbob.info/agentbob/79-AB.html
http://www.sslshopper.com/article-most-common-openssl-commands.html
Но соеденить их воедино достаточно проблематично, ибо не ясна логика.
( читать многа английских букавCollapse )
То же самое, но в моём дневничке можно почитать тут.
Spring Security: хранение ролей и прав в БД
March 12th, 2010
Разбираюсь со Spring Security.
Во всех примерах, реализующих авторизацию, доступные роли прописываются в xml.
А что, если нужна возможность создавать, редактировать и удалять роли, назначать им права на соответствующие классы-методы, не перезагружая при этом приложение?
То есть, не известно заранее, какие роли будут в нашем приложении, и каким ролям есть доступ к заданному классу (эту информацию нужно получать из БД).
Как такое реализовать средствами Spring Security? В какую сторону смотреть?
P.S. если это важно, то SS v.3.0
JDBC реализация UserDetailsService в Spring Security
January 23rd, 2010
Инструменты: Java 1.5, Spring Security 3.0.0, MySQL 5.1
Преамбула:
Те, кто свое приложение начинает строить на базе Spring,
наверняка не обходят вниманием Spring Security.
Spring Security поддерживает интеграцию аутентификации со многими технологиями.
Если планируете использовать СУБД для хранения информации о пользователях и их ролей,
то используйте JDBC реализацию UserDetailsService.
Варианты реализации: Spring Security предлагает два варианта использования JDBC реализации UserDetailsService.
Вариант 1:
Используются только 2 таблицы - users и authorities
(см. Appendix A. Security Database Schema из Spring Security: Reference Documentation).
Таблица users содержит username, password, enabled.
Таблица authorities связывает пользователя с ролью.
Такой вариант подойдет для простых систем, с небольшим количеством ролей.
Вариант 2:
Расширяется таблицами groups, group_authorities, group_members.
Предоставляет роли посредством групп. Этот вариант более гибок
и его в большинстве случаев следует использовать.
<b:bean id="userDetailsManager"
class="org.springframework.security.provisioning.JdbcUserDetailsManager">
<b:property name="dataSource" ref="dataSource" />
<b:property name="enableAuthorities" value="true" />
<b:property name="enableGroups" value="true" />
Spring Security допускает использование обоих вариантов одновременно,
но обязательно один из вариантов должен быть включен.
Совет:
В приложении предоставлены скрипты DDL для HSQL и PostgreSQL - модифицируйте их под свою СУБД.
Не поддавайтесь искушению расширить, скажем, таблицу users, или использовать данные таблиц через свои объекты Hibernate.
Пользуйтесь интерфейсом, предоставляемым самим Spring Security. Если потребуется расширение, создайте wrapper.
P.S:
Те, кто вел разработку на Spring Security 3.0.0.M.x, при переходе на 3.0.0.RELEASE будьте готовы к мелким изменениям в API.
November 7th, 2008
Здравствуйте!
Есть такая проблема.
Существует secure веб сервис, у которого в header части передаются имя, пароль, и другие secure данные, а в body передаётся уже вызов функции, и параметры.
WSDL-файл опубликован, и моя задача - написать клиент к нему.
Проблема состоит в том, что то, что генерируют IDEA (и wsimport) из этого файла, позволяет создать header часть, и генерит клиент сервиса (позволяет вызывать функции с параметрами), но я не могу понять, как в этом сгенеренном коде прилепить мною созданный хедер к ws запросу, и в результате выполнения программы получаю javax.xml.ws.soap.SOAPFaultException: Security header missing, в строчке, которая вызывает функции этого сервиса.
Помогите советом, каким образом прилепить хедер к запросу?
May 15th, 2008
Требуется создать динамические права для системы. Пока только для Web.
Используются Spring, Spring MVC.
Нужно управлять ролями динамически, то есть разрешать роли доступ на определенные страницы и на определенные участки страниц из web приложения. Например роль ROLE_A может видеть некий столбец, а ROLE_B - нет. Или позволять изменять только определенные поля в форме.
Если кто-нибудь реализовывал такое, поделитесь. Или просто выскажете соображения.
Спасибо.