В строке разрешения Shiro отказано? - PullRequest
2 голосов
/ 17 сентября 2010

Я использую плагин shiro для Grails и позволяю пользователю добавлять разрешения во время выполнения.У моего контроллера есть много действий, таких как индекс, список, редактирование, создание, сохранение, обновление, поиск, удаление .... Предположим, что имя контроллера - "foo". Строка разрешений для простого контроллера foo - foo: * означает, что каждый, у кого есть эторазрешение может получить доступ ко всем действиям контроллера foo.но если я хочу запретить только удаление действий, я должен составить строку разрешений, например, foo: index, list, edit, create, save, update, search. Это работает, но строка разрешений очень длинная, если у моего контроллера есть действия, болеечем это.Было бы лучше, если бы такой синтаксис был следующим: foo: [удалить] добавить квадратную скобку или что-то в этом роде, чтобы запретить только удаление, но разрешить остальное.

Заранее спасибо.

1 Ответ

0 голосов
/ 07 октября 2010

Вы можете создать подкласс класса WildCardPermission.Затем вы переопределяете метод implies и реализуете свою собственную логику разрешений «только для запрета».

...