|
|
|
Forum Guru
      
участник
Last Login: 18.04.2007 12:35
Сообщ.: 69,
Visits: 764
|
|
Добрый день!
Уверен, что те ко сталкивался с разработкой во фрэймворке Spring, знакомы с пакетом для обеспечения безопасности приложения - Acegi Security (http://acegisecurity.sourceforge.net/)
Система в целом хорошая, все довольно таки гибко настраивается и т.д., но существует одно но: ресурсы для доступа определенным ролям, методы класов, к которым роль имеет доступ - все это настраивается в файле applicationContext.xml (приложения для которого описывается правила доступа)
Но если к примеру я хочу администрировать права в своем приложении с помощью
некого интерфейса - это означает, что я этого делать не могу, и должен вносить дополнения в этот файл руками?
Или я не разобрался в системе и можно сдедать так что описания фильтров (таких как - filterInvocationInterceptor) можно хранить в базе? И сответственно заносить их туда для дальнейщего использования.
Кто-нибудь знает по этому поводу что либо?
Спасибо.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 09.02.2006 12:27
Сообщ.: 228,
Visits: 2 509
|
|
ИМХО очень странная у вас архитектура: по идее для доступа к объекту надо обладать определенным правом, наличие которогл есть аттрибут пользователя, а не менять права доступа у самого ресурса.
Хранить аттрибуты пользователя в базе можно.
К тому же если хочется чего-то очень уж необычного можно написать свой десижн менеджер.
Есть неплохая книга Spring in action одна из глав которой посвящена обзору основных возможностей библиотеки.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 09.02.2006 12:27
Сообщ.: 228,
Visits: 2 509
|
|
| н акрайний случай в никто не запрещает соответствующим образом автоматически править XML - благо библиотек хватает.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 01.09.2007 21:18
Сообщ.: 407,
Visits: 4 434
|
|
Или я ничего не понял или причём тут XML ???
Хоть в массиве храни секюрные настройки (роли, пользователи, права и т.д.)...
Хоть в exe файл вбивай...
Выбери нужного провайдера и вперёд..
Короче почитай внимательно доку ..там всё расписано...
|
|
|
|
|
Forum 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 редактируется руками.
Вопрос в том позволяет ли данная система хранить данные настройки в базе или необходимо каким-то образом извращаться для изменения файла.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 01.09.2007 21:18
Сообщ.: 407,
Visits: 4 434
|
|
Кто тебе мешает переопределить класс
net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor
и в конфиг фале написать типа...
|
|
|
|
|
Forum Guru
      
участник
Last Login: 18.04.2007 12:35
Сообщ.: 69,
Visits: 764
|
|
| Вообще то мысль. Документация просто не описывает подобных решений. Вобщем попытаюсь поработать в этом направлении
|
|
|
|
|
Forum Guru
      
участник
Last Login: 18.04.2007 12:35
Сообщ.: 69,
Visits: 764
|
|
Как выяснилось переопределением класса тут ничего не сделаешь. Рыть необходимо в сторону - Access Control List (который по идее может администья через БД)
Кто нибудь в реале сталкивался с этим? А то я как то затупил вообще с этим....
|
|
|
|
|
новичок
 | | | |