使用Spring安全插件从Grails应用程序注销时获得HTTP状态405
我正在将Spring安全插件(2.0 RC3)添加到我的Grails应用程序(2.4.4)中。但是,单击“注销”链接后,我会看到HTTP状态为405的网页使用Spring安全插件从Grails应用程序注销时获得HTTP状态405,grails,spring-security,logout,Grails,Spring Security,Logout,我正在将Spring安全插件(2.0 RC3)添加到我的Grails应用程序(2.4.4)中。但是,单击“注销”链接后,我会看到HTTP状态为405的网页 如何解决这个问题?可以通过分析LogoutController代码找到原因 class LogoutController { def index() { if (!request.post && SpringSecurityUtils.getSecurityConfig().logout.postO
如何解决这个问题?可以通过分析LogoutController代码找到原因
class LogoutController {
def index() {
if (!request.post && SpringSecurityUtils.getSecurityConfig().logout.postOnly) {
response.sendError HttpServletResponse.SC_METHOD_NOT_ALLOWED // 405
return
}
// TODO put any pre-logout code here
redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl
}
}
因此,有两种修复方法可用:
1) 更改“注销”链接以发送POST请求
<form name="logout" method="POST" action="${createLink(controller:'logout') }">
<input type="submit" value="logout"></form>
grails.plugin.springsecurity.logout.postOnly = false