问题标签 [httpsession]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
253 浏览

cookies - httpsession和cookie的问题

1)会话和cookie有什么区别。

我知道 cookie 存储在客户端,会话存储在服务器端。

但我想知道他们的现实船是什么?

有人告诉我,实现会话有两种方式:cookie 和 url-rewrite。所以我很困惑......

我已经阅读了这个问题的答案: what-is-the-difference-between-a-session-and-a-cookie

2)会话的生命周期如何。

它是什么时候创建的?每个http请求都会创建一个新会话(假设request.setSession(true))?会议何时结束?我知道浏览器关闭时会话将超时。但是会话超时的确切含义是什么?

0 投票
2 回答
18320 浏览

c# - 从另一个线程或技巧访问 HttpSessionState (HttpContext.Current.Session)?

我们有一个在 App_Code 中实现中央 HttpSessionState 管理的网站,如下所示:

使用它的函数类(例如):

所有这些工作都很好,直到我们需要在一个新线程中实现一个耗时的过程......在第二个线程中 HttpContext.Current.Session 为空(我们知道它是因为当前上下文在线程之间不同)所以一切都失败了:S

调查我们发现您可以像这样将会话从一个线程传递到另一个线程:

我们想要做的是将会话关联到新线程(CurrentSession.Session = mySession;),因此每个函数都按原样工作而不更改它们(有很多,我们不想为此更改应用程序的所有结构最后添加)但 HttpContext.Current.Session 没有设置器:S(我们知道我们必须将设置器添加到 CurrentSession.Session 属性)

那么……你会怎么解决呢?有什么绝妙的技巧吗?我们的一个想法是将 CurrentSession.Session 转换为动态指针或类似的东西,因此当我们要在第二个线程内使用函数时,CurrentSession.Session 的 getter 将从为以下情况传递的临时变量返回会话线程......但我们不知道如何实现它......可能的草案是:

所以这就是历史......很抱歉让这篇文章这么长,但我们想弄清楚情况以防止混淆和偏离答案......谢谢!

0 投票
3 回答
5756 浏览

java - HttpSession.getId() 有多独特?

是否保证返回的值HttpSession.getId()在时间上是唯一的 - 还是仅在所有活动会话中唯一?

换句话说,我可以将它用作会话日志条目的键(哪个用户登录的时间和时间)?

如果getId是特定于实现的(我猜是,因为 J2EE 规范对这个问题保持沉默),它在 Google App Engine 上是如何处理的?

0 投票
1 回答
11419 浏览

java - Tomcat,从 HTTPS 移动到 HTTP 时保持会话

我有一个在 Tomcat 6.0.29 上运行的 Java 应用程序,前面是 Apache 2.2.3。登录页面使用 HTTPS,而大多数页面使用 HTTP。

如果用户尝试访问受登录保护的页面 (HTTP),他会被重定向到登录页面 (HTTPS),登录,然后被重定向回最初请求的页面。这很好用,因为 JSESSIONID cookie 设置为不安全的,并且用于 HTTP 和 HTTPS。

但是,如果用户从登录页面 (HTTPS) 开始,则 JSESSIONID cookie 设置为 Secure,因此在登录后重定向到 HTTP 下的页面时会话不可用,从而强制一个新会话并再次重定向到登录页面。不过这次它起作用了,因为这一次 JSESSIONID cookie 被设置为不安全的。

如何避免用户在第一次点击登录页面时必须登录两次?

0 投票
1 回答
24412 浏览

java - 带有 GWT 的 HTTPSession

我是 GWT 的新手......我想在我的 Web 应用程序中实现会话基本上我希望会话在单击按钮时开始(处理事件)并在单击另一个按钮时结束(其他处理事件)。这是可能的?

如何一步一步来?

这段代码可以吗?:

主要(客户端):

//------------------------------------------------ ----------------------------------

//------------------------------------------------ ----------------------------------

//------------------------------------------------ ----------------------------------

我所做的是将我的 Web 应用程序连接到另一个网页,如果我单击浏览器的后退按钮,我返回到我的 Web 应用程序,会话仍然存在......我该怎么办?

我希望我已经很好地解释了我的问题......

*****新问题***:**

我试着这样做......

---客户端....主要:

///////////////////////////////////////// ////////////////////

///////////////////////////////////////// ////////////////////

///////////////////////////////////////// ////////////////////

服务器端:

0 投票
1 回答
957 浏览

java - Servlet JApplet:HttpSession

这听起来像一个简单的问题,但我找不到好的信息。

我正在编写一个小型 JApplet,它将向服务器 servlet 发送一些信息

我希望能够跟踪谁是谁,所以我想建立一个记录和会话系统。

我找到了一些关于 httpsession 的信息,但我永远找不到一个信息:

我是否必须在我的小程序中创建一个会话对象,或者当我在小程序端执行类似操作时是否有一个自动系统可以创建 httpsession

0 投票
1 回答
1009 浏览

php - 在 http 会话中存储上一页路径

随着我正在构建的应用程序变得越来越大,我有时会重新考虑因素。有时这会破坏事情。例如,用户在提交表单后被定向到的位置 - 或者可能取消等。我的一个想法是在会话中存储当前页面路径(URL sans 域名)。这样我就可以回到用户来自的页面,模仿关闭桌面应用程序上的对话框时发生的情况。这将更加灵活且易于维护。至少看起来是这样。

我正在进行的当前更改将允许用户从应用程序中的各个位置导航到表单。如果用户被发送到另一个页面然后他/她来自,他/她将变得迷失方向。我有 43 个表格。这将很快增加到大约 60 个。

由于某种原因我忽略了这是一个坏主意吗?或者这是推荐的方法?

[编辑]

出于真实原因,请阅读答案中的评论:

“将其存储在会话中可能会导致同时请求出现一些问题”

0 投票
1 回答
613 浏览

java - Google App Engine 如何跟踪 httpsession 销毁

有人知道如何使用 GAE 跟踪 httpsession 销毁吗?我发现 HttpSessionListener 在 GAE 中无法正常工作,并且 sessionDestroyed 方法从不调用。

更具体地说,当用户登录应用程序时,我有一个信息存储在数据库中,但是如果某些用户在一段时间内处于非活动状态,我需要从数据库中删除此信息,如果在这种情况下调用 sessionDestroyed 方法,这将很容易事件发生了,至于现在我做了每分钟运行的 cron 作业,该作业查询内存中所有此类句柄的数据,哪些数据处于非活动状态并将其删除。但这是非常低效的方法,我可以使用缓存对其进行优化。但也许还有其他一些优雅的方式。

任何想法都受到热烈欢迎。

0 投票
1 回答
699 浏览

ajax - 由于 Ajax,Tomcat 会话空闲不起作用

在我的 Web 应用程序(jsp/servlet)中有一个网页,它定期创建 Ajax 请求以从服务器获取最新数据。这个页面是主页面,一旦用户登录到系统,它总是打开,而其他页面打开新的浏览器窗口(由于用户事件)。

我必须使空闲超过 30 分钟的用户会话无效。为此,我使用 Tomcat 会话超时功能。但问题是大多数时候空闲 30 分钟的用户会话不会失效。

但有时 Tomcat 会在 30 分钟后使用户会话失效。我认为这是因为主页会定期发送 Ajax 请求而不会使会话处于空闲状态。

我想知道是Tomcat无法从用户事件中识别自动生成的请求并正确地使会话无效。请对此提出想法,这对我很有帮助。

迪内什

0 投票
2 回答
28898 浏览

jsf - 使用 session.invalidate 的 JSF 注销不会清除当前用户名?

在我的 JSF 应用程序中,我得到当前登录用户的名称,如下所示......

...我检查用户是否像这样登录...

...当用户退出时,我这样做...

我的问题是在 doLogout() 之后,getLoggedInUsername() 仍然返回登录用户的名称。我应该怎么做才能确保 getRemoteUser() 在注销后返回 null?

或者,是否有比仅检查用户名更好的方法来获取 if isSignedIn() ?

谢谢!抢