Авторизация подключаемого модуля безопасности Grails Spring

Я использовал плагин безопасности Spring для авторизации. Теперь я хотел использовать плагин jasper для создания отчетов. Но вместо создания отчетов отображается ошибка Извините, у вас нет прав для просмотра этой страницы.

Config.groovy:

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
    '/'                  : ['permitAll'],
    '/index'             : ['permitAll'],
    '/index.gsp'         : ['permitAll'],
    '/assets/**'         : ['permitAll'],
    '/**/js/**'          : ['permitAll'],
    '/**/css/**'         : ['permitAll'],
    '/**/images/**'      : ['permitAll'],
    '/**/fonts/**'       : ['permitAll'],
    '/**/favicon.ico'    : ['permitAll'],
    '/**/font-awesome/**': ['permitAll'],
    '/**/reports/'       : ['permitAll']

]

environments {
development {
    jasper.dir.reports = '../src/reports'
}
production {
    jasper.dir.reports = '/home/Sample-Reports'
    // TODO: grails.serverURL = "http://www.changeme.com"
}

}

Как я могу решить эту проблему?

РЕДАКТИРОВАТЬ: grails версии 2.4.4 весенней безопасности версии 2.0


person Yet    schedule 16.06.2015    source источник
comment
Не могли бы вы обновить детали вопроса, указав текущую версию Grails и текущую версию используемого вами плагина spring-security?   -  person ionutab    schedule 16.06.2015
comment
также предоставьте информацию о параметре: grails.plugins.springsecurity.interceptUrlMap.   -  person ionutab    schedule 16.06.2015
comment
@ionutab Я использую защищенные аннотации.   -  person Yet    schedule 16.06.2015


Ответы (2)


в Config.groovy попробуйте добавить следующее:

grails.plugins.springsecurity.interceptUrlMap = [

'/pathToActionThatGeneratesDocument/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],

]

person ionutab    schedule 16.06.2015

была аналогичная проблема в dev с grails 3.2.6 и spring-security 3.1.1.

я пытался получить доступ к /debconsole и не смог. даже после обновления staticRules.

это не элегантно и не правильно, но в то время как в dev вы можете добавить это в свой /init/application.groovy

//added to avoid login screens for dbconsole
grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false

когда вы это делаете, это эффективно отключает проверку, пока вы смотрите на dbconsole или консоль, чтобы проверить материал, и вас не отбрасывает Spring Security.

нужно установить значение true, когда вы хотите снова включить проверку, но это было быстрое исправление, которое позволило мне получить доступ к ресурсу, не увязая в том, как добраться до консоли h2, когда мне это нужно

person WILLIAM WOODMAN    schedule 22.02.2017