Я нашел действительно гибкую систему безопасности Apache Shiro. Я успешно реализовал аутентификацию и авторизацию с помощью Shiro.
Одной из привлекательных особенностей фреймворка является безопасность на основе экземпляров. Я просто скопировал пример с сайта Shiro.
В базе данных хранятся следующие разрешения.
printer:query:lp7200
printer:print:epsoncolor
Следующий код проверяет, есть ли у текущего аутентифицированного пользователя разрешение для данного экземпляра принтера или нет.
if ( SecurityUtils.getSubject().isPermitted("printer:query:lp7200") {
// Return the current jobs on printer lp7200
}
Мой вопрос: "Так ли хранятся разрешения в базе данных?". Есть ли лучший способ хранения разрешений на основе экземпляра?
Пожалуйста, дайте мне знать.
Thanks