Grails 2.4 spring security&资产管道

时间:2014-11-04 02:39:58

标签: grails spring-security grails-2.4

这是请求映射表包含的内容:

'/', '/index', '/index.gsp', '/**/favicon.ico',
  '/assets/**', '/**/js/**', '/**/css/**', '/**/images/**',
  '/login', '/login.*', '/login/*',
  '/logout', '/logout.*', '/logout/*']

login page中未加载任何静态资源。每个静态资源请求都会重定向到login/auth

2 个答案:

答案 0 :(得分:0)

在我的(Spring Security 2.0-RC4)应用程序中,我有:

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
    '/'                 : ['permitAll'],
    '/searchable/**'    : ['permitAll'],
    '/index'            : ['permitAll'],
    '/index.gsp'        : ['permitAll'],
    '/assets/**'        : ['permitAll'],
    '/**/js/**'         : ['permitAll'],
    '/**/css/**'        : ['permitAll'],
    '/**/images/**'     : ['permitAll'],
    '/**/favicon.ico'   : ['permitAll']
]

这没有问题。请注意,我使用注释。

看起来好像使用了请求映射,从我读过的文档中你可能会创建这样的请求映射:

for (String url in [
  '/', '/index', '/index.gsp', '/**/favicon.ico',
  '/assets/**', '/**/js/**', '/**/css/**', '/**/images/**',
  '/login', '/login.*', '/login/*',
  '/logout', '/logout.*', '/logout/*']) {
       new Requestmap(url: url, configAttribute: 'permitAll').save()
   }

也许你应该考虑进行保存(failOnError:true)以确保你的requestmap表中确实有数据。

答案 1 :(得分:0)

显然,您使用请求映射。所以看看 Using Spring Security and Requestmap fails in Grails

除了确保您的请求地图没问题之外,您还可以刷新您的请求地图,例如:

new Requestmap(url: '/login/**', configAttribute: 'permitAll').save(flush: true, failOnError: true)