grails spring security ui登录奇怪的重定向有时

时间:2014-10-16 00:39:40

标签: grails login spring-security

美好的一天,

我正在使用Grails中的应用程序,我正在尝试使用spring security core和ui。具体来说,我使用了s2ui-override来覆盖用户,角色,身份验证和布局。

一般来说它似乎有效。我现在遇到了一个非常奇怪的问题,我似乎无法修复它。

当我点击主页上的登录链接时,我会按预期发送到s2ui登录页面。填写已知凭据并单击登录按钮后,我收到“抱歉,您无权查看此页面”消息;同时,Firefox地址面板中显示的URL是

http://localhost:8080/galaxy/plugins/jquery-ui-1.10.3/jquery-ui/themes/ui-lightness/jquery-ui-1.10.3.custom.css

我之前有过这种行为但是(我以为我已经通过)将以下两行添加到我的Config.groovy中的grails.plugin.springsecurity.controllerAnnotations.staticRules中来纠正它

'/login/**':                      ['permitAll'],
'/logout/**':                     ['permitAll']

这个奇怪的部分是,如果我在浏览器中单击回来,我将返回s2ui登录面板(字段为空);如果我再次填写(同一用户)并单击登录按钮,这次我会按预期重定向到我的主页。

就我所见,这种行为是一致的,也就是说,它每次都会第二次工作。

1 个答案:

答案 0 :(得分:5)

我相当肯定这是因为重定向到的资产被Spring Security插件阻止,提示登录&返回请求资产。

仔细检查,grails.plugin.springsecurity.controllerAnnotations.staticRules,包含一个匹配正在传递/请求的资产的正确条目。

Config.groovy:
grails.plugin.springsecurity.controllerAnnotations.staticRules =[ '/plugins/**':['permitAll']

导致这种情况的根本原因可能是Spring Security UI插件没有(现在?)使用现在默认的Asset Pipeline。