2014-11-04 27 views
0

這是請求映射表包含:Grails的2.4春季安全和資產管道

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

但是,沒有靜態資源在login page加載。每個對靜態資源的請求都會重定向到login/auth

回答

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:真),使當然,你的requestmap表中實際上有數據。

+0

所有春天的安全配置非常的2.3版本。現在我已經開始了一個2.4項目。數據保存在數據庫中。我試圖創建一個新的示例應用程序,並且在安裝spring security&asset pipe line插件後,默認情況下資源也不會顯示。 – user2463026 2014-11-04 07:26:41

+0

我的應用程序正在運行2.4,但正如我所說的,我正在使用註釋。您是否嘗試過調試到彈簧安全,也許它可以給你一個提示? – sbglasius 2014-11-04 16:37:25

0

顯然你使用請求映射。所以,看一下 Using Spring Security and Requestmap fails in Grails

除了確保您的requestmap是確定你可能會刷新你的requestmap,例如:

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