Отключить поисковый контроллер по умолчанию в граалях

Есть ли способ отключить контроллер, который является частью какого-либо плагина (с возможностью поиска в моем случае) в Grails? Единственные два способа, которыми я могу придумать, это указать 404 страницу в UrlMappings [1] или написать фильтр для того же самого. Однако мне кажется, что это скорее обходной путь, чем правильное решение. Также, по крайней мере, в случае плагина Searchable необходимость избавиться от контроллера по умолчанию и представления кажется мне довольно распространенной, так как они в основном бесполезны.

[1] это также было принято на странице поиска отключаемых плагинов.

1 ответ

Если вы используете Spring Spring-Security-Core, то будет очень легко ограничить контроллеры.

Вам просто нужно разместить следующий код в config.groovy

grails.plugins.springsecurity.rejectIfNoRule = true     //Deny all urls by default
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
grails.plugins.springsecurity.interceptUrlMap = [
/** Start IS_AUTHENTICATED_ANONYMOUSLY block **/
    '/about/**':        ['IS_AUTHENTICATED_ANONYMOUSLY']
        ,'/':               ['IS_AUTHENTICATED_REMEMBERED'] ]

Контроллеры, которые упоминаются в блоке interceptUrlMap, доступны.

Другие вопросы по тегам