我有一个Grails 3.1应用程序,并且使用了带有自定义无状态身份验证提供程序的spring安全插件。所有这些都可以,但是当没有 session ,并且创建了 session (带有 session ID cookie)时,我仍然可以重定向到我的登录屏幕。
我该如何指示Spring Security不要使用cookie,或者选择grails禁止创建cookie?我已经看到了一些关于纯Spring安全性的答案,但是使用Grails spring安全性插件,事情似乎有所不同。
最佳答案
Spring Security插件可与过滤器一起使用,可能其中之一是将您重定向到登录页面。我不确定您是如何自定义身份验证的,但是基于Spring Security REST Plugin,您应该从过滤器链中删除不需要的身份验证。
grails.plugin.springsecurity.filterChain.chainMap = [
//Stateless chain
[
pattern: '/api/**',
filters: 'JOINED_FILTERS,-anonymousAuthenticationFilter,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter,-rememberMeAuthenticationFilter'
],
//Traditional chain
[
pattern: '/**',
filters: 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter'
]
]
关于session - 如何防止Grails 3创建 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225747/