如何更改Grails Spring安全Cookie路径
我有两个使用spring security的grails应用程序:如何更改Grails Spring安全Cookie路径,grails,cookies,spring-security,remember-me,cookie-path,Grails,Cookies,Spring Security,Remember Me,Cookie Path,我有两个使用spring security的grails应用程序: 核心 模块(映射到核心数据库表的用户和角色表) 我想使用“记住我”实现单一登录功能。问题是cookie存储在不同的路径“/Core”和“/Module”中,我猜这就是cookie无法工作的原因 有人知道如何将cookie路径更改为“/”吗 注释: 我是否需要更改Spring安全性或Tomcat服务器配置(使用intellij) 如果可能,我希望避免设置CAS服务器 我正在寻找插件作为替代方案 感谢您的帮助当“记住我”筛选
- 核心
- 模块(映射到核心数据库表的用户和角色表)
- 我是否需要更改Spring安全性或Tomcat服务器配置(使用intellij)
- 如果可能,我希望避免设置CAS服务器
- 我正在寻找插件作为替代方案
感谢您的帮助当“记住我”筛选器创建“记住我”cookie时,它会将cookie路径设置为从请求对象获得的上下文路径(请参阅相关内容)。如果要自定义此行为,则需要在子类中重写应用程序使用的记忆我服务实现的
setCookie()
和cancelCookie()
方法(或者TokenBasedMemberMeservices
或者PersistentTokenBasedMemberMeservices
),并配置rememberAuthenticationFilter
以使用自定义实现。以下是我如何实现它的。
使用extendsTokenBasedMemberMeservices创建新服务
重写setCookie和cancelCookie方法以设置cookie路径。
将cookiePath变量和方法添加到setCookepath()
更新resources.groovy
对于tomcat:我有一个类似的问题-看看我的解决方案:我有一个类似的问题-看看我的解决方案我有一个类似的问题-看看我的解决方案
rememberMeServices(YourTokenBasedRememberMeServices) {
userDetailsService = ref("userDetailsService")
key = conf.rememberMe.key
cookieName = conf.rememberMe.cookieName
alwaysRemember = conf.rememberMe.alwaysRemember
tokenValiditySeconds = conf.rememberMe.tokenValiditySeconds
cookiePath = some config variable
}