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