问题标签 [session-variables]

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 投票
4 回答
5031 浏览

cakephp - CakePHP:保存后更新会话变量

我有一个User对象,在成功进行身份验证后,它会被隐藏到会话中(没有安全信息),以便于调用并确定我们是否有经过身份验证的用户或匿名会话。用户可以通过多种途径更改他或她的部分或全部信息,我希望使该会话值保持最新。显而易见的答案是更新afterSave()回调中的值,但这当然违反了 MVC。

是否有另一种方法可以在一个地方捕获每一个变化,这样我就不必在整个地方丢弃会话写入?我什么都想不出来,也找不到其他的想法。我是唯一一个试图做这样的事情的人吗?

谢谢。

最终解决方案:坦率地说,我将 neilcrookes 的回复标记为答案,因为似乎没有更好的方法。不过,由于这种方式违反了我的强迫症感官,我选择了一条略有不同的道路。我决定让我的User::authenticate()方法将经过身份验证的用户对象返回给调用者,以便它可以对它做任何想做的事情。调用者“想要”做的一件事是在会话中删除该值。这是冗余,但非常非常有限。在我看来,这比从模型中访问会话感觉更好(尽管如果你这样做肯定是该死的,如果你不设想的话那是该死的)。

0 投票
2 回答
2698 浏览

asp.net - 使用带有 ASP.NET 的 log4net 来跟踪 Session 变量

我们的 Web 应用程序捕获用户的登录信息并将其存储在会话变量中,类似于 Session("User_Id")。我想使用 log4net 来捕获日志中的用户。

我看到一些使用 MDC(映射诊断上下文)的引用已被 ThreadContext 属性替换。

有没有人实现过这个 ThreadContext 方法?有什么建议么?

0 投票
4 回答
38845 浏览

php - 取消设置会话变量的问题

我的网站上有一个用于邀请朋友的表格。这是一个简单的文本字段和一个提交按钮。如果出现错误,我会重定向回此页面,如果它们是会话变量集,则会显示错误消息。

但是,如果我离开此页面并返回到该页面 - 仍然会显示错误消息。如果我离开并再回来一次,它就会完成。当我刷新该页面时,它是一样的...... 1 刷新不会摆脱它,但 2 会。我不能破坏整个会话,我只想取消设置这个变量。PHP 版本是 5.2.5 build 6,注册全局变量已关闭,我在此页面顶部调用 session_start(),我也尝试使用无缓存标头。

编辑:添加了完整的代码。

0 投票
2 回答
2981 浏览

java - java - 如何从java中的所有活动会话中清除会话属性?

目前我正在开发使用 JSP/Servlet 和 struts 框架的 web 项目。我们正在使用缓存机制。我想从特定事件的所有活动会话中清除一些会话属性(例如,在刷新缓存的情况下)。那么实现相同的最佳方法是什么?

0 投票
1 回答
556 浏览

asp.net - 在基于 asp.net 会话的 silverlight 应用程序上加载初始状态

我正在编写一个类似于购物车系统的 Silverlight 应用程序。此应用程序只能在用户登录到网站后从 asp.net 网站启动。

首次加载时,应用程序将通过 WCF 服务向后端发送请求,以检索购物车中的所有现有商品。

因此,silverlight 应用程序需要知道当前用户是谁,才能找到要加载的购物车。

到目前为止,我发现有几种方法,但对其中任何一种都不满意:

  1. 使用 wcf aspnet 兼容。silverlight 可以通过询问 wcf 服务来询问当前用户是谁。
  2. 使用 xaml.InitParameters 将参数从页面传递到 xaml,并传入最少量的信息,以序列化格式识别用户。
  3. 通过查询字符串将参数传递给 xaml(显然这也是可能的)

任何人都可以分享实现这一目标的最佳实践吗?谢谢

0 投票
2 回答
2321 浏览

asp.net - 如何确定会话变量的内存占用?

另外,web.config - 请解释一下。

我们正在使用 inproc 模式,我们在 Web 应用程序中使用了 20 会话变量。我们需要知道每个变量占用的内存空间。

0 投票
1 回答
234 浏览

asp.net - 在发送验证之前拦截用户凭据

我们的网站要求将密码传递到另一个页面以自动登录通过 iframe 引入的供应商网站。

由于密码在我们的站点中存储为哈希值,因此我可以看到能够从需要它的页面获取密码的唯一方法是将其存储为会话变量,或者将其传递给查询字符串,当用户登录(他们将其输入到密码文本框中)。

我们的网站确实有一个专用的 SSL 证书,所以据我所知,通过证书应该是相当安全的。

我无法弄清楚 DNN 登录是如何工作的以拦截密码。有没有人对 DNN 登录或一般登录有足够的了解,以便能够就存储凭据以供以后使用提供建议?

对此的替代方案的任何建议也将有所帮助。

谢谢,
马特

0 投票
1 回答
254 浏览

entity-framework - 如何将表单数据绑定到对象并在回发时丢失其值

我使用 ADO.NET Entity-Framework,我有一个数据绑定到代码文件中的实体变量的页面。

项目的层次结构是 Person.Orders 我希望用户向此 Person 实体添加/删除订单 (Person.Orders.Add(order)),问题是虽然实体尚未保存,但一旦用户创建回发,变量被处理,人及其所有命令都消失了。将实体/变量(复杂的)保存在缓存/内存/状态或其他任何东西(不保存在商店中,我只想在用户单击一般接受更改 btn 时才将项目保存在商店中,同时应该是一个好的做法我想在空中建立层次结构)?

如果我不够清楚,我将在明天提供更多详细信息,请接受我的道歉。

0 投票
1 回答
19625 浏览

ruby-on-rails - Rails:如何使用多个控制器访问会话变量?

我在使用会话变量时遇到问题。我有两个名为“graduate_students_controller”和“current_students_controller”的控制器。这些控制器中的每一个都控制不同的视图文件。我在这两个控制器中使用会话变量来存储会话信息。

这就是问题所在。假设我有两个视图文件“reports/current_students_list”、“reports/graduate_students_list”,每个文件都由上述控制器单独控制。

现在,如果我尝试从同一个浏览器中打开这两个网页并尝试同时使用它们,我会从第一次加载的页面中收到“nil object access”错误。'nil object' 指的是第一页应该访问的会话变量。但是,当我单独使用这两个 Web 应用程序中的任何一个时,它们都可以正常工作。

所以在我看来,第一个加载的网络应用程序的会话变量。被第二个加载的网络应用程序覆盖。也许是因为第二页在第一页上存储了一个新的 cookie?

我该如何解决?

任何建议都非常感谢。

再澄清一点:这两个控制器属于同一个 Rails 应用程序。而且我没有在两个控制器中使用相同的会话变量名称。所以我不明白为什么它们会被覆盖

我是 Rails 新手,非常感谢您对这个问题的帮助。谢谢。

0 投票
4 回答
5820 浏览

php - PHP HTTP_REFERRER - 如何检测最后一页?

我需要检测用户刚刚单击的位置 - 因为我的 AJAX 内容需要根据要插入的源页面以不同方式显示。

如果要进入 about.php,它只需要是数据,但如果要进入 about-main.php,它需要是整个中间列,因此需要围绕数据的页眉/页脚包装器。

通过 AJAX 调用的 html 保存在一个 php 页面中,该页面使用此代码来查看谁在询问,然后适当地格式化 HTML 响应。

问题是...... HTTP_REFERER 似乎有点命中注定。当我在网络上工作时它工作得很好,但我已经在家里的电脑上尝试过它显然完全无法工作 - 结果太可怕了:o

还有另一种方法可以实现这一目标吗?我想可以使用会话变量,但我没有太多经验!

任何和所有提示/提示都表示赞赏;)谢谢!

编辑:

该页面实际上是一个员工资料页面。它的正常位置是 about.php,第二列 div 显示一个缩略图网格,单击该网格时,通过 AJAX 在该位置加载配置文件。所有漂亮而简单的 - 后退按钮重新加载照片网格。

问题是,每个工作人员还需要一个静态页面。我在 about/staff-name.php 创建了这些。内容是一样的。我希望服务器检测是否有人直接访问了 about/staff-name.php,如果是,请在其周围加上页眉/页脚。

如果请求来自照片网格(即 AJAX),则不需要页眉/页脚包装器。

明白了吗?:o

1) 如果 AJAX 请求 - 没有包装器 2) 如果不是 AJAX 请求 - 添加页眉/页脚包装器