gpt4 book ai didi

Grails Spring Security 记住我

转载 作者:行者123 更新时间:2023-12-01 15:39:00 25 4
gpt4 key购买 nike

我有一个针对 REST API 的自定义身份验证提供程序,现在想实现“记住我”功能。

这是我在 Config.groovy 中的内容:

grails.plugins.springsecurity.providerNames = [
'zubAuthenticationProvider',
'rememberMeAuthenticationProvider'
]
grails.plugins.springsecurity.auth.loginFormUrl="/login"
grails.plugins.springsecurity.rememberMe.cookieName="example1"
grails.plugins.springsecurity.rememberMe.key="example1"

我看不到在成功登录时实际设置的持久性 cookie。我在配置中遗漏了什么吗?

**更新**如果我添加:

grails.plugins.springsecurity.rememberMe.persistent = true

但是,这只会导致另一个问题,即不使用数据库来存储登录信息。

提前致谢,托德

最佳答案

为了后代的缘故,我将采用以下内容——

Config.groovy

grails.plugins.springsecurity.providerNames = [
'zubAuthenticationProvider',
'rememberMeAuthenticationProvider'
]

grails.plugins.springsecurity.rememberMe.cookieName="stackoverflow"
grails.plugins.springsecurity.rememberMe.key="_grails_"
grails.plugins.springsecurity.rememberMe.rememberMe.persistent = true

conf/spring/resources.groovy

userDetailsService(com.zub.security.EgUserDetailsService) {
grailsApplication = ref('grailsApplication')
}
tokenRepository(com.zub.security.EgPersistentTokenRepository) {
grailsApplication = ref('grailsApplication')
}

def conf = SpringSecurityUtils.securityConfig
rememberMeServices(PersistentTokenBasedRememberMeServices) {
userDetailsService = ref("userDetailsService")
key = conf.rememberMe.key
cookieName = conf.rememberMe.cookieName
alwaysRemember = conf.rememberMe.alwaysRemember
tokenValiditySeconds = conf.rememberMe.tokenValiditySeconds
parameter = conf.rememberMe.parameter
useSecureCookie = conf.rememberMe.useSecureCookie // false

tokenRepository = ref('tokenRepository')
seriesLength = conf.rememberMe.persistentToken.seriesLength // 16
tokenLength = conf.rememberMe.persistentToken.tokenLength // 16
}

EgPersistentTokenRepository 基于 GormPersistentTokenRepository 但已更新为对 CRUD 功能而不是 GORM 进行 REST 调用。

关于Grails Spring Security 记住我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8524561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com