Both sides previous revisionPrevious revisionNext revision | Previous revision |
java_security [2007/02/09 12:08] – slonopotamus | java_security [2019/06/12 16:08] (current) – external edit 127.0.0.1 |
---|
===== Permissions Evangelizm ===== | ===== Permissions Evangelizm ===== |
FIXME | FIXME |
| |
| ====== JAAS vs Acegi Security ====== |
| |
| ===== Java Security (JAAS) ===== |
| {{jsf-ru:plus.gif}} Является стандартом, поддерживается большим количеством технологий (EJB, Servlets, etc) |
| |
| {{jsf-ru:plus.gif}} Простой API |
| |
| {{jsf-ru:plus.gif}} Хорошо документирован |
| |
| {{jsf-ru:minus.gif}} Довольно скудная базовая функциональность |
| |
| {{jsf-ru:minus.gif}} Ограниченное встроенное кэширование (не предполагает изменения набора прав в процессе работы приложения), в случае отключения которого необходимо реализовывать кэширование на уровне приложения |
| |
| {{jsf-ru:minus.gif}} Отсутствуют теги для проверки прав к различным элементам интерфейса (однако возможно их написание) |
| |
| {{jsf-ru:minus.gif}} Политики принятия решений необходимо реализовывать вручную |
| |
| {{jsf-ru:minus.gif}} В некоторых случаях контейнеро-зависим (однако возможно написание контейнеро-независимого кода) |
| |
| |
| |
| ===== Acegi Security ===== |
| |
| {{jsf-ru:plus.gif}} Хорошо документирован |
| |
| {{jsf-ru:plus.gif}} Простая интеграция со Spring |
| |
| {{jsf-ru:plus.gif}} Встроенные аудиты |
| |
| {{jsf-ru:plus.gif}} Встроенные интерцепторы (например, для удаления из коллекций недоступных объектов) |
| |
| {{jsf-ru:plus.gif}} Различные политики принятия решений (если все полиси разрешают, если хоть одна полиси разрешает, на основе голосования и очков) |
| |
| {{jsf-ru:plus.gif}} Встроенные теги для проверки прав к различным элементам интерфейса (правда примитивные) |
| |
| {{jsf-ru:plus.gif}} Встроенное кэширование |
| |
| {{jsf-ru:plus.gif}} Контейнеро-независим |
| |
| {{jsf-ru:plus.gif}} Встроенная поддержка опции «запомнить меня» |
| |
| {{jsf-ru:plus.gif}} Множество адаптеров для различных механизмов аутентификации |
| |
| {{jsf-ru:minus.gif}} Многократно более сложный API |
| |
| {{jsf-ru:minus.gif}} Не специфицирован |
| |
| При этом следует учитывать, что имеется возможность оборачивать использование сторонним кодом JAAS’а в обращения к Acegi и наоборот. Так же необходимо понимать, что права виртуальной машины (доступ к файлам, сокетам, работа с класслоадерами и т.д. проверяются через JAAS, поэтому при использовании Acegi в любом случае будет необходимо направлять в него обращения к JAAS). |