Авторизация подключаемого модуля безопасности Grails 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 Spring Security версии 2.0
2 ответа
В Config.groovy попробуйте добавить следующее:
grails.plugins.springsecurity.interceptUrlMap = [
'/ pathToActionThatGeneratesDocument / **': ['IS_AUTHENTICATED_ANONYMOUSLY'],
]
Была похожая проблема в 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
когда вы делаете это, она фактически отключает проверку, пока вы смотрите на консоль db или консоль, чтобы проверить вещи, и вы не получите отказов весенней безопасности.
нужно установить значение true, если вы хотите, чтобы проверка была включена снова - но это было быстрое исправление, которое позволило мне получить доступ к ресурсу, не увязая в том, как добраться до консоли h2, когда мне это нужно