2014-11-25 9 views
2

Я создаю службу REST в Java, используя Dropwizard в сочетании с Apache Shiro для аутентификации и авторизации. Я расширил JdbcRealm, чтобы заставить Shiro использовать мою базу данных PostgreSQL (к которой я обращаюсь через Hibernate). Аутентификация работает хорошо. Создание разрешений на уровне группы также очень просто. К сожалению, мне не удалось найти идиоматический способ привязки определенных экземпляров ресурсов к конкретным пользователям (темам). Я знаю, что Shiro обеспечивает поддержку instance-level access control, но документация не показывает рабочий процесс, который позволяет мне сделать следующее:Динамические разрешения на уровне экземпляра с Apache Shiro

  • пользователя Алиса создает ресурс X
  • пользователя Bob должно быть позволено читать X, но не писать/удалить это
  • пользователя Алиса должна иметь полный доступ на чтение/запись/удаление доступа к X

Любые намеки или рекомендации приветствуются!

ответ

2

Я расследую с подобной проблемой, когда у меня есть мульти требования об аренде, так что я не знаю, кто жилец во время компиляции, что-то вроде этого типа строки разрешения:

global:{tenant}:users:limited,c,r,u,d 

Вы можете чтобы посмотреть на PermissionResolver Я нашел эту страницу весьма полезной AuthorizationConfiguration из сиро документов, сиро документы - это немного разброса

+0

Я закончил все это программно, используя 'Subject.checkPermission()' и DAO для разрешений в моей базе данных! –

Смежные вопросы