Я новичок в apache shiro, и я прочитал почти 60% учебников на странице apache siro.Контроль доступа с использованием apache shiro
Это прекрасная инфраструктура, однако мне интересно, может ли она соответствовать моим требованиям.
Меня интересует аутентификация на основе разрешений.
Например, чтобы убедиться, если пользователь имеет разрешение на удаление ресурсов, мы можем использовать это:
currentUser.isPermitted("resource:delete");
Однако в нашем приложении, даже пользователь имеет разрешение на удаление ресурсов, он может только удалите некоторые определенные ресурсы, а не все из них.
Например, для ресурса есть ресурс с именем createdby
, чтобы записать того, кто создает этот ресурс.
Теперь пользователь может удалить только созданные им ресурсы, если у него есть разрешение resouce:delete
.
Фактически, ресурсы, которые могут быть удалены пользователем (которые прошли проверку подлинности и имеют разрешение delete
), будут вычисляться с помощью большего количества ограничений.
Теперь, как сделать работу в этом стиле?
Как насчет того, если пользователь получит URL-адрес удаления для одного ресурса, даже если у него нет разрешения? – hguser
Вы можете добавить проверку разрешения на удаление на стороне сервера. – rvini
http://balusc.blogspot.in/2013/01/apache-shiro-is-it-ready-for-java-ee-6.html - Проверьте, будет ли эта ссылка полезна, есть пример создания jdbc realm в файле конфигурации и динамически передавать данные в запрос для проверки разрешения. Я не работал над этим – rvini