我正在为 Grails 2.4.4 使用Spring Security Rest Plugin v1.5.4(使用 spring security core 2.0.0)在我的项目( Grails - Angularjs)上设置安全系统。关于这个插件的文档可以在这里找到。
我正在使用 postman chrome rest 客户端测试登录和注销,我可以登录,但是当我注销时得到 404。
在文档中明确表示:
注销过滤器公开一个用于删除令牌的端点。它将从 HTTP 标头中读取令牌。如果找到,将从存储中删除它,发送 200 响应。否则,它将发送 404 响应
您可以使用以下属性在 Config.groovy 中对其进行配置:
配置键.................................................. ...................................默认值
grails.plugin.springsecurity.rest.logout.endpointUrl......................./api/logout grails.plugin.springsecurity.rest.token.validation.headerName ....X-Auth-Token
因此,在成功登录后,我尝试使用 GET 方法注销该 URL(my_host_url/api/logout ),并使用我之前从登录获得的令牌发送标头X-Auth-Token 。
但我一直收到 404。见下图
编辑:我正在设置这样的链图(为了获得无状态行为):
grails.plugin.springsecurity.filterChain.chainMap = [
'/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter', // Stateless chain
'/**': 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter' // Traditional chain
]
所以。我在这里做错了什么,或者我错过了什么?
提前致谢!