遇到插件文档的Pessimistic Lockdown部分,以下内容确实将所有内容锁定:
grails.plugins.springsecurity.rejectIfNoRule = true
...但我怎样'解锁'css,js和图像文件?我能够解锁我需要公开访问的所有控制器和操作,而不是css文件。
目前我的Config.groovy有这个:
grails.plugins.springsecurity.rejectIfNoRule = true;
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
grails.plugins.springsecurity.interceptUrlMap = [
'/admin/**' : ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
'/css/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/login/auth': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/*': ['IS_AUTHENTICATED_ANONYMOUSLY']
]
'/ *'使主页可见,但css被阻止。 提前致谢
答案 0 :(得分:1)
在生成的HTML中,静态资源目录是否在<context-name>/static/
路径下提供,即my-app/static/css
而不是my-app/css
?我一直在研究Grails 2.0应用程序,并注意到css,images和js目录现在似乎默认移动到该路径,这与Grails 1.3不同。
我认为这是导致URL更改的新资源插件,但尚未使用2.0中的spring-security插件来验证这是否是问题。
答案 1 :(得分:1)
我对grails.plugins.springsecurity.rejectIfNoRule = true
没有任何经验,但我相信下面的interceptUrlMap是等价的
grails.plugins.springsecurity.interceptUrlMap = [
'/js/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/css/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/images/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/login/auth': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/admin/**': ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY'],
'/**': ['IS_AUTHENTICATED_FULLY']
将js,css和images放在顶部可以确保没有其他规则与它们发生冲突,最后/**
充当了首先不匹配的任何内容。给它一个镜头,看看它是否更好。