Обеспечение безопасности приложения - Acegi Security
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Обеспечение безопасности приложения - Acegi... Expand / Collapse
Автор
Сообщение
25.11.2005 16:30
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 18.04.2007 12:35
Сообщ.: 69, Visits: 764
Добрый день!
Уверен, что те ко сталкивался с разработкой во фрэймворке Spring, знакомы с пакетом для обеспечения безопасности приложения - Acegi Security (http://acegisecurity.sourceforge.net/)

Система в целом хорошая, все довольно таки гибко настраивается и т.д., но существует одно но: ресурсы для доступа определенным ролям, методы класов, к которым роль имеет доступ - все это настраивается в файле applicationContext.xml (приложения для которого описывается правила доступа)

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

Или я не разобрался в системе и можно сдедать так что описания фильтров (таких как - filterInvocationInterceptor) можно хранить в базе? И сответственно заносить их туда для дальнейщего использования.

Кто-нибудь знает по этому поводу что либо?

Спасибо.
Сообщ. #885627
25.11.2005 17:17
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 09.02.2006 12:27
Сообщ.: 228, Visits: 2 509
ИМХО очень странная у вас архитектура: по идее для доступа к объекту надо обладать определенным правом, наличие которогл есть аттрибут пользователя, а не менять права доступа у самого ресурса.
Хранить аттрибуты пользователя в базе можно.
К тому же если хочется чего-то очень уж необычного можно написать свой десижн менеджер.
Есть неплохая книга Spring in action одна из глав которой посвящена обзору основных возможностей библиотеки.
Сообщ. #885632
25.11.2005 17:18
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 09.02.2006 12:27
Сообщ.: 228, Visits: 2 509
н акрайний случай в никто не запрещает соответствующим образом автоматически править XML - благо библиотек хватает.
Сообщ. #885633
25.11.2005 17:36
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 01.09.2007 21:18
Сообщ.: 407, Visits: 4 434
Или я ничего не понял или причём тут XML ???
Хоть в массиве храни секюрные настройки (роли, пользователи, права и т.д.)...
Хоть в exe файл вбивай...
Выбери нужного провайдера и вперёд..
Короче почитай внимательно доку ..там всё расписано...
Сообщ. #885635
25.11.2005 19:22
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 18.04.2007 12:35
Сообщ.: 69, Visits: 764
Хмм, я наверное не совсем корректно объяснил суть вопроса.

Библиотека Acegi Security подразумевает наличие файла с описанием конфигурации используемых фильтров. Они описываются в контекстном файле приложениея - это может быть как сам файл applicationContext.xml (так и c файл с любым другим именем, хоть - application-security-Context.xml), в котором описываются права на доступ к определенным ресурсам ( и/или методам)

выглядит это так:







CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/it/newuser.do=ROLE_ADMIN,ROLE_SUPERVISOR,admin
/it/index.do=ROLE_ADMIN,ROLE_SUPERVISOR,admin
/it/*.jsp*=admin





Так вот значение свойства objectDefinitionSource редактируется руками.

Вопрос в том позволяет ли данная система хранить данные настройки в базе или необходимо каким-то образом извращаться для изменения файла.
Сообщ. #885642
28.11.2005 12:44
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 01.09.2007 21:18
Сообщ.: 407, Visits: 4 434
Кто тебе мешает переопределить класс

net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor

и в конфиг фале написать типа...

Сообщ. #885701
28.11.2005 13:03
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 18.04.2007 12:35
Сообщ.: 69, Visits: 764
Вообще то мысль. Документация просто не описывает подобных решений. Вобщем попытаюсь поработать в этом направлении
Сообщ. #885704
30.11.2005 15:56
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 18.04.2007 12:35
Сообщ.: 69, Visits: 764
Как выяснилось переопределением класса тут ничего не сделаешь. Рыть необходимо в сторону - Access Control List (который по идее может администья через БД)

Кто нибудь в реале сталкивался с этим? А то я как то затупил вообще с этим....
Сообщ. #885880
24.11.2006 0:15
новичок