我使用grails spring security和自定义身份验证方法进行facebook身份验证:
def auth() {
...
}
当我在浏览器中检查cookie时,我可以看到cookie生存期在浏览器会话关闭时完成。仅当我使用插件中的默认登录/身份验证操作时,才设置持久性rememberMe cookie。
我需要更改哪些用自定义身份验证方法登录的用户未在会话之间注销?
对于重新认证,我使用:
def success() {
// get facebook user data
springSecurityService.reauthenticate username
if(springSecurityService.loggedIn) {
// do something
}
}
如何设置rememberMe cookie?
答案 0 :(得分:2)
想法:让春天安全记住我的服务知道它应该考虑成功登录。
在您的Facebook成功操作中,成功进行身份验证后,请执行以下操作:
//wire remember me services
def rememberMeServices
//... in your action:
springSecurityService.reauthenticate username
def authentication = SecurityContextHolder.context.authentication
rememberMeServices.loginSuccess(request, response, authentication)
,添加以下内容
grails.plugins.springsecurity.rememberMe.alwaysRemember = true
答案 1 :(得分:0)
在原始auth.gsp的提交和您自定义的auth.gsp之间比较请求的POST参数。将会有一个额外的隐藏字段,缺少该字段。使用Firebug。