mathieuxiaonew 2022-01-10 08:58 采纳率: 50%
浏览 29

使用express-sql-session时,session过期但是没有删除对应数据库记录

使用express-sql-session时,session过期但是没有删除应数据库中的session记录,这样当我们再次访问时,还是能够拿到过期session的内容(此时浏览器窗口没有关闭,session-cookie依然有效)

  • 写回答

1条回答 默认 最新

  • 禅思院 领域专家: 前端开发技术领域 2022-01-10 09:48
    关注

    session的生命周期:

      由于session是存在服务器端数据库的,所以的它的生命周期可以持久化,而不仅限于浏览器关闭的时间。具体是由cookie.maxAge 决定:如果maxAge设定是1个小时,那么从这个因浏览器访问服务器导致session创建开始后,session会一直保存在服务器端,即使浏览器关闭,session也会继续存在。如果此时服务器宕机,只要开机后数据库没发生不可逆转的破坏,maxAge时间没过期,那么session是可以继续保持的。

      当maxAge时间过期后,session会自动的数据库中移除,对应的还有浏览器的cookie。不过,由于connect-mongo的特殊机制(每1分钟检查一次过期session),session的移除可能在时间上会有一定的滞后。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月10日