Обеспечение действия в Grails 2 RC3 - PullRequest
3 голосов
/ 14 декабря 2011

В Config.groovy я решил обезопасить все действия, связанные с редактированием контента, вот так:

grails.plugins.springsecurity.interceptUrlMap = [
        '/admin/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],

        '/*/create/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
        '/*/save/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
        '/*/update/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
        '/*/edit/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],

        '/contactUs/create/new_message.html' : ['IS_AUTHENTICATED_ANONYMOUSLY'],
        '/**':               ['IS_AUTHENTICATED_ANONYMOUSLY']


]

... просто интересно, достаточно ли этого или я напрашиваюсь на неприятности? Или какой был бы лучший / правильный способ обеспечения всех действий «создать, сохранить, обновить, отредактировать» во всех контроллерах? Заранее спасибо.

1 Ответ

3 голосов
/ 15 декабря 2011

только две мысли ...

  • как насчет удаления объектов?Я предполагаю, что с этим конфигом каждый может анонимно удалить
  • , и это подводит меня ко второму пункту: вы реализуете безопасность с помощью черного списка (какие контроллеры и действия должны быть недоступны без проверки подлинности), но вы должныреализовать безопасность через белый список (какие контроллеры и действия доступны без проверки подлинности).Второй подход позволил бы избежать проблемы «удаления».

PS: я использую shiro, поэтому у меня нет опыта работы с пружинной безопасностью, и я не знаю, как составлять белый список контроллеров и действий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...