shiro 自定义cookie超时时间怎么弄

2025-03-27 11:08:59
推荐回答(1个)
回答1:

默认是HttpOnly的,即浏览器关闭便失效。
如果你想要修改Cookie,那么请参考如下配置
@Bean
def securityManager() {
def securityManager = new DefaultWebSecurityManager()
securityManager.realm = realm()
securityManager.cacheManager = cacheManager()
securityManager.sessionManager = sessionManager()
securityManager.rememberMeManager = rememberMeManager()

return securityManager
}

def sessionManager() {
def sessionManager = new DefaultWebSessionManager()
def cookie = new SimpleCookie(ShiroHttpSession.DEFAULT_SESSION_ID_NAME)
//cookie.setHttpOnly(true)
cookie.maxAge = 24 * 60 * 60
sessionManager.sessionIdCookie = cookie
return sessionManager
}

def rememberMeManager() {
def rememberMeManager = new CookieRememberMeManager()
def cookie = new SimpleCookie(CookieRememberMeManager.DEFAULT_REMEMBER_ME_COOKIE_NAME)
//cookie.setHttpOnly(true)
//cookie.setMaxAge(Cookie.ONE_YEAR)
cookie.maxAge = 60 * 60 * 24 * 7
rememberMeManager.cookie = cookie
return rememberMeManager
}