|
berdachuk
|
||
Обеспечение безопасности приложения - Acegi Security24.11.2006, 03:15. Показов 3523. Ответов 8
Метки нет (Все метки)
Я реализовывал перенос настроек на уровень базы данных. К сожалению API несколько неудачно, нет возможности упростить выборку, приходится генерить весь список (методов / фильтров). Да и с тестированием именно этой реализации некоторые проблемы, так как перехватчик срабатывает еще до вызова метода в тестах, так что проинициализировать тестовую СУБД надо заранее. Реализуется все через переопределение DefinitionSource. Берем исходники Acegi, ищем junit на MethodDefinitionSource и FilterDefinitionSource, создаем по аналогии свои с доступом вначале к Mock списку, а потом и к БД. Теперь при деплое приложения права можно быстро править в СУБД. Вообще, страшно не понравились примеры, которые идут с acegi, скорее запутывают, чем помогают ![]() |
||
| 24.11.2006, 03:15 | |
|
Ответы с готовыми решениями:
8
Программное обеспечение для проведения оценки риска информационной безопасности Обойти обеспечение безопасности Windows Обеспечение безопасности ввода данных |
|
Tops
|
|
| 02.02.2012, 17:07 | |
|
Добрый день!
Уверен, что те ко сталкивался с разработкой во фрэймворке Spring, знакомы с пакетом для обеспечения безопасности приложения - Acegi Security (http://acegisecurity.sourceforge.net/) Система в целом хорошая, все довольно таки гибко настраивается и т.д., но существует одно но: ресурсы для доступа определенным ролям, методы класов, к которым роль имеет доступ - все это настраивается в файле applicationContext.xml (приложения для которого описывается правила доступа) Но если к примеру я хочу администрировать права в своем приложении с помощью некого интерфейса - это означает, что я этого делать не могу, и должен вносить дополнения в этот файл руками? Или я не разобрался в системе и можно сдедать так что описания фильтров (таких как - filterInvocationInterceptor) можно хранить в базе? И сответственно заносить их туда для дальнейщего использования. Кто-нибудь знает по этому поводу что либо? Спасибо. |
|
|
3 / 3 / 0
Регистрация: 25.08.2010
Сообщений: 213
|
|
| 02.02.2012, 17:54 | |
|
ИМХО очень странная у вас архитектура: по идее для доступа к объекту надо обладать определенным правом, наличие которогл есть аттрибут пользователя, а не менять права доступа у самого ресурса.
Хранить аттрибуты пользователя в базе можно. К тому же если хочется чего-то очень уж необычного можно написать свой десижн менеджер. Есть неплохая книга Spring in action одна из глав которой посвящена обзору основных возможностей библиотеки.
0
|
|
|
3 / 3 / 0
Регистрация: 25.08.2010
Сообщений: 213
|
|
| 02.02.2012, 17:55 | |
|
н акрайний случай в никто не запрещает соответствующим образом автоматически править XML - благо библиотек хватает.
0
|
|
|
1 / 1 / 3
Регистрация: 03.08.2008
Сообщений: 390
|
|
| 02.02.2012, 18:13 | |
|
Или я ничего не понял или причём тут XML ???
Хоть в массиве храни секюрные настройки (роли, пользователи, права и т.д.)... Хоть в exe файл вбивай... Выбери нужного провайдера и вперёд.. Короче почитай внимательно доку ..там всё расписано...
0
|
|
|
Tops
|
||||||
| 02.02.2012, 19:59 | ||||||
|
Хмм, я наверное не совсем корректно объяснил суть вопроса.
Библиотека Acegi Security подразумевает наличие файла с описанием конфигурации используемых фильтров. Они описываются в контекстном файле приложениея - это может быть как сам файл applicationContext.xml (так и c файл с любым другим именем, хоть - application-security-Context.xml), в котором описываются права на доступ к определенным ресурсам ( и/или методам) выглядит это так:
Вопрос в том позволяет ли данная система хранить данные настройки в базе или необходимо каким-то образом извращаться для изменения файла. |
||||||
|
1 / 1 / 3
Регистрация: 03.08.2008
Сообщений: 390
|
|
| 05.02.2012, 13:21 | |
|
Кто тебе мешает переопределить класс
net.sf.acegisecurity.intercept.web.Filte rSecurityInterceptor и в конфиг фале написать типа... <bean id="filterInvocationInterceptor" class="com.company.MyFilterSecurityInter ceptor
0
|
|
|
Tops
|
|
| 05.02.2012, 13:40 | |
|
Вообще то мысль. Документация просто не описывает подобных решений. Вобщем попытаюсь поработать в этом направлении
|
|
|
Tops
|
|
| 07.02.2012, 16:33 | |
|
Как выяснилось переопределением класса тут ничего не сделаешь. Рыть необходимо в сторону - Access Control List (который по идее может администья через БД)
Кто нибудь в реале сталкивался с этим? А то я как то затупил вообще с этим.... |
|
| 07.02.2012, 16:33 | |
|
Помогаю со студенческими работами здесь
9
Нужен совет об увеличении безопасности VB-шного приложения Как отключить предупреждение системы безопасности при установке приложения Предупреждение системы безопасности перед запуском приложения. Как избавиться? Replacing invalid security id with default security id for file и в результате черный экран Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|