创建了一个新的应用程序,添加了编译' org.grails.plugins:spring-security-core:3.1.2'并做了:
grails s2-quickstart com.cabolabs.security User Role RequestMap
然后grails run-app。
这是插件的预期行为还是错误?
安装和配置部分的文档没有提及有关此https://grails-plugins.github.io/grails-spring-security-core/v3/#configuration的任何内容
更新
在文档的第5.3节(https://grails-plugins.github.io/grails-spring-security-core/v3/)中找到了应该添加的初始RequestMap。
for (String url in [
'/', '/error', '/index', '/index.gsp', '/**/favicon.ico', '/shutdown',
'/**/js/**', '/**/css/**', '/**/images/**',
'/login', '/login.*', '/login/*',
'/logout', '/logout.*', '/logout/*']) {
new Requestmap(url: url, configAttribute: 'permitAll').save()
}
在Bootstrap.groovy中使用它,并且仍然有太多重定向"。
此外,无法查看/ dbconsole以检查数据库,因为它已被插件阻止。
答案 0 :(得分:1)
GitHub上提出的解决方案和我测试它的工作原理是在创建请求映射实例后调用clearCachedRequestmaps。
for (String url in [
'/', '/error', '/index', '/index.gsp', '/**/favicon.ico', '/shutdown',
'/**/js/**', '/**/css/**', '/**/images/**',
'/login', '/login.*', '/login/*',
'/logout', '/logout.*', '/logout/*']) {
new RequestMap(url: url, configAttribute: 'permitAll').save()
}
springSecurityService.clearCachedRequestmaps()
答案 1 :(得分:0)
来晚了,但是我遇到了同样的问题。我修复它的方法是在chainMap中添加以下元素:
[pattern: "/login/**", filters:"none"]
之所以可行,是因为spring试图在访问登录页面之前让您登录,这显然行不通。上面的行告诉spring允许流量无需先登录就可以登录登录端点(因为您不能这样做)。