Управление доступом на уровне экземпляра в Apache Shiro

Я нашел действительно гибкую систему безопасности 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

7
задан Chir 19 January 2012 в 15:03
поделиться