0

我正在使用弹簧安全插件进行授权。现在我想使用 jasper 插件来生成报告。但是,它不会生成报告,而是显示 对不起,您无权查看此页面。错误。

配置.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版

4

2 回答 2

0

Config.groovy 中尝试添加以下内容:

grails.plugins.springsecurity.interceptUrlMap = [

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

]

于 2015-06-16T10:47:15.653 回答
0

在开发中使用 grails 3.2.6 和 spring-security 3.1.1 时遇到了类似的问题。

我试图访问 /debconsole 并且无法访问。即使在更新静态规则之后。

它既不优雅也不正确,但在开发中你可以做的就是将它添加到你的 /init/application.groovy

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

当您这样做时,它会有效地关闭检查,同时您查看 dbconsole 或控制台以检查内容,并且您不会被弹簧安全性反弹。

当您想要重新打开验证时,需要设置回 true - 但这是一个快速修复,让我可以在需要时访问资源而不会陷入如何访问 h2 控制台

于 2017-02-22T13:19:43.287 回答