Андрей, я думаю, что этот ответ приходит слишком поздно, чтобы быть полезным для вас; он предназначен для тех, кто попадает в эту ветку позже, и я надеюсь, что это поможет.
Моя компания недавно выпустила с открытым исходным кодом OACC , усовершенствованную платформу безопасности приложений Java. OACC предназначен для систем, требующих степени детализации безопасности на уровне объекта.
OACC предоставляет высокопроизводительный API, который предоставляет основанные на разрешениях сервисы авторизации. Вкратце, OACC позволяет вашему приложению обеспечивать безопасность, отвечая на вопрос: Разрешено ли субъекту "A" выполнять действие "p" над объектом "B"?
Одной из ключевых абстракций в OACC является ресурс . Ресурс служит в качестве заполнителя в OACC для объекта в домене приложения, который необходимо защитить. Как действующие лица (например, пользователи, процессы), так и защищаемые объекты (например, документы, серверы) представлены как ресурсы в OACC. Объекты домена приложения, которые являются субъектами или защищены, просто сохраняют идентификатор ресурса в связанном ресурсе.
Абстракция ресурса позволяет OACC, в отличие от других основных структур безопасности, предоставлять богатый API, который управляет разрешениями между ресурсами. OACC сохраняет отношения безопасности в таблицах RDBMS (в настоящее время поддерживаются DB2, Oracle, MS-SQLServer и PostgreSQL).
Для получения дополнительной информации посетите веб-сайт проекта: http://oaccframework.org