404 Grails的Spring Security Rest插件何时注销
我正在使用Grails2.4.4的v1.5.4(使用SpringSecurityCore2.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\u url/api/logout),并使用我以前从登录中获得的令牌发送头X-Auth-Token 但我一直得到一个404。见下图 编辑:我这样设置链映射(为了获得无状态行为): 所以。我做错了什么,或者我错过了什么404 Grails的Spring Security Rest插件何时注销,spring,rest,grails,spring-security,spring-security-rest,Spring,Rest,Grails,Spring Security,Spring Security Rest,我正在使用Grails2.4.4的v1.5.4(使用SpringSecurityCore2.0.0)为我的项目(Grails-Angularjs)设置安全系统。可以找到关于这个插件的文档 我正在用postman chrome rest客户端测试登录和注销,我可以正常登录,但当我注销时会得到404 文件中明确指出: 注销筛选器公开用于删除令牌的端点。会的 从HTTP头读取令牌。如果找到,将从中删除它 存储,发送200响应。否则,它将发送404 回应 您可以使用以下属性在Config.groovy中
提前谢谢 你错过了文件的另一个摘录。这是一条警告信息,就在你引用的那块之前,上面写着: 使用JWT令牌(默认策略)时无法注销,因为服务器中不保留任何状态 如果您仍然希望注销,您可以通过创建
JwtTokenStorageService
的子类并重写方法storeToken
和removeToken
来提供自己的实现。然后,在resources.groovy
中将您的实现注册为tokenStorageService
您能提供“注销”方法的代码吗?我想,资源映射缺少“get”方法或正确的“path”@devbd,谢谢您的回复!实际上,我没有实现
注销方法。我认为插件隐式地添加了这个作为login
方法。是否正确?请检查插件默认登录url。我想,url应该是“/注销”。我的错误..,请检查grails.plugin.springsecurity.filterChain.chainMap是否设置为“无状态”5.2。插件配置Hi,Álvaro Sánchez Mariscal,是否有推荐的教程教您如何使用JwtTokenStorageService
的子类实现注销功能?我知道,当我将SpringSecurityREST与GORM一起使用时,注销功能可以完美地工作。另外,谢谢你的插件:)我不知道
grails.plugin.springsecurity.filterChain.chainMap = [
'/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter', // Stateless chain
'/**': 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter' // Traditional chain
]