Session 失效会话,如何正确使用?

Session 失效会话,如何正确使用?,session,coldfusion,Session,Coldfusion,何时调用getPageContext.getSession.invalidate 我尝试在注销页面调用它,然后将其返回到主页面,它抛出异常 如何立即分配新会话 报告说: 您不能破坏会话和 根据同一请求创建会话, 因为创建新会话涉及 正在发回会话cookies。正在发回会话cookies 我认为cflocation到主页已经符合不同的请求,不是吗?您可以使用其中任何一个来实现用户注销功能 1会话。移除密钥 2 Sessionkey=nothing 两者都很好。但是,如果用户想重新登录或您真的……节

何时调用getPageContext.getSession.invalidate

我尝试在注销页面调用它,然后将其返回到主页面,它抛出异常

如何立即分配新会话

报告说:

您不能破坏会话和 根据同一请求创建会话, 因为创建新会话涉及 正在发回会话cookies。正在发回会话cookies


我认为cflocation到主页已经符合不同的请求,不是吗?

您可以使用其中任何一个来实现用户注销功能

1会话。移除密钥

2 Sessionkey=nothing


两者都很好。但是,如果用户想重新登录或您真的……节省了重新创建新密钥的工作量,则后者更好。

您可以将其中任何一个用于您的用户注销功能

1会话。移除密钥

2 Sessionkey=nothing


两者都很好。但是如果用户想重新登录或者你真的想…节省重新创建新密钥的工作量,那么后一个更好。

Ben Nadel发表了一系列关于终止会话的帖子。我记得这不像一个方法调用那么简单。我会在谷歌上搜索这些内容。

本·纳德尔(Ben Nadel)有一系列关于杀戮会话的帖子。我记得这不像一个方法调用那么简单。我会用谷歌搜索它们。

getPageContext.getSession.invalidate将使会话无效,具有该会话ID的后续请求将在尝试访问会话作用域时出错,但在实际会话超时之前不会回收内存


您可以做的是session.setMaxInactiveIntervalent将其设置为非常低的毫秒数,以便它立即过期并释放内存。然后执行cflocation,为安全起见,请使用addToken=no

getPageContext.getSession.invalidate将使会话无效,具有该sessionID的后续请求将在尝试访问会话作用域时出错,但在实际会话超时之前不会回收内存


您可以做的是session.setMaxInactiveIntervalent将其设置为非常低的毫秒数,以便它立即过期并释放内存。然后做一个cflocation,为了安全起见,使用addToken=no

你想用这个代码实现什么?注销用户?或者更复杂的事情?注销用户。你想用这段代码实现什么?注销用户?或者更复杂的事情?注销用户。这是我目前正在使用的,但我想使用invalidate session来提高安全性这是我目前正在使用的,但我想使用invalidate session来提高安全性+1 Ben对会话范围做了一些非常有趣的实验。这个?我尝试过,但当现有窗口刷新时,它将抛出无效会话。我该如何捕捉它并优雅地处理它?+1 Ben对会话范围做了一些非常有趣的实验。这一个?我尝试过,但当现有窗口刷新时,它将抛出无效会话。我该如何捕捉并优雅地处理它?你的意思是我们永远不应该使用getPageContext.getSession.invalidate?是和否,您可以使用它,但它只能确保会话无法使用,因为您已经注意到它仍然处于良好的活动状态并占用空间,直到它实际超时。您的意思是我们不应该使用getPageContext.getSession.invalidate?是和否,您可以使用它,但它只能确保会话不能被使用,因为您已经注意到它仍然处于良好的活动状态并占用空间,直到它实际超时。