问题标签 [session-management]

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 投票
1 回答
756 浏览

multithreading - 如何使用线程上下文重新初始化 Hibernate 中的会话?

注意:这个问题与我之前的问题有关。

hibernate.current_session_context_class=thread在我的 Hibernate 配置中使用并根据需要获取 Hibernate 会话SessionFactory.getCurrentSession()。所以它会在需要时创建或给我现有的会话,所以我不关心这个。

这一切都很好,但是当我得到 a 时该怎么办HibernateExceptionConstraintViolationException例如?然后我之前获得的当前会话变得无效,我不能再使用它,甚至不能读取更多数据(根据我读过的许多论坛)。如何丢弃并在特定范围内获取新会话?我认为SessionFactory.getCurrentSession()第二次打电话仍然会给我同样的无效会话!?

0 投票
1 回答
2342 浏览

spring-security - 通过注销使 Spring Security 会话失效

只是关于 Spring Security 和会话失效的问题。

当会话被 ConcurrentSessionControlStrategy 无效时,会话会通过调用 removeSessionInformation 方法从 SessionRegistry 中删除,但是当会话因手动注销而无效时,HttpSession 也会无效,但不会调用 SessionRegistry 从那里删除条目。

我已将 HttpSessionEventPublisher 添加为侦听器,该侦听器正在捕获 HttpSessionDestroyedEvent 事件,但再次没有调用 SessionRegistry。

我通过创建自己的 LogoutFilter 实现并添加一个处理程序来手动调用 removeSessionInformation 来解决这个问题,但如果可能的话,我希望能够使用标准的 spring 注释。(注意,我不能使用标准注销标签的 success-handler-ref 字段,因为会话已经失效,所以我无法访问会话 ID)

有什么我在这里遗漏的,还是这只是 Spring 遗漏的东西?

顺便说一下,这是使用 Spring Security 3.1.0。

0 投票
0 回答
149 浏览

ruby-on-rails-3 - Rails 3:在过滤会话管理问题之前

我正在开发一个应用程序,该应用程序最终将帮助我的公司转向通用注册/激活流程,以帮助支持多种产品。在新用户注册或激活(使用组代码)时,“单一”系统品牌需要根据他们的来源进行更改。

现在,我设置了在 URL 中传递 client_id 参数的位置,然后@client通过执行 ActiveRecord Find By 来设置当前客户端。

我需要对其进行设置,以便在会话中设置客户端信息。但我无法让它发挥作用。

这是我的ApplicationController

我一直遇到的问题之一是,如果有人使用不同的client_id参数返回站点,旧的参数将保持在会话中。

client_id即使client_id参数发生变化,我如何重写上面的内容以始终只设置会话中的内容?

0 投票
1 回答
3282 浏览

c# - 根据其数据类型“String”,值“hibernate.current_session_context_class”无效

我有一个使用 Nhibernate 的应用程序。这是我第一个使用它的应用程序,所以我是新手。我正在尝试测试我的第一个 get 方法。

这是会话管理器代码:

但每次我运行应用程序并单击 btn. 它抛出带有内部异常消息的异常:

“'name' 属性无效 - 值 'hibernate.current_session_context_class' 根据其数据类型 'String' 无效 - 枚举约束失败。”}

这是我的 hibernate.cfg.xml

原来我没有放

但它给了我一个错误:

未配置 CurrentSessionContext(设置属性 current_session_context_class)!

0 投票
2 回答
1100 浏览

c - 实现会话管理

我正在实现会话管理,目前正在数据库中存储 4 种类型的信息:

  1. 用户身份
  2. session_id(哈希)
  3. 插入时间(用于超时)
  4. 持久性(如果用户有持久性 cookie)

用户可以使用不同的设备打开多个会话。如果用户注销,我怎么知道我应该删除哪些会话?

什么独特的信息通常与我已经获得的信息一起存储?IP 地址并不能真正起作用,因为它可以共享。我应该存储浏览器信息,但如果相同怎么办?

0 投票
1 回答
6304 浏览

amazon-web-services - AWS 上的 memcached-session-manager

我有一个在 Amazon Web Services 上运行的网站,该网站使用 Elastic Beanstalk 部署并在至少 2 个 EC2 微实例上运行。有一个 Auto Scaling 策略,因此它可以根据网站中的流量进行扩展和缩减。由于这个自动缩放策略,我想避免使用粘性会话,因此我使用memcached-session-manager。我将 Amazon ElastiCache(小型实例)用于 memcached 服务器。

context.xml中的配置如下:

当流量较低(即在线用户少于 10 个)时,这可以正常工作,但有时会导致 EC2 实例重新启动。您可以想象,如果网站当前在两个实例上运行,并且它们都决定同时重新启动,那么网站将变得无法访问,这是一个大问题。这些是在 EC2 实例决定重新启动之前在 Amazon S3 上轮换的 tail_catalina.log 中的最后几行:

似乎 Amazon ElastiCache 节点出现故障,但问题是,检查 Amazon CloudWatch,我可以看到 CPU 利用率从未超过 8%。Amazon ElastiCache 节点失败是否有任何原因,即使它没有受到太大压力?此外,当 Amazon ElastiChace 节点出现故障时,为什么 Amazon 决定重新启动(或者更好:终止并启动一个新实例)?

非常感谢任何帮助。

谢谢!

0 投票
1 回答
7599 浏览

java - Spring并发会话控制不起作用,用户可以多次登录

我在 Tomcat7 上使用 Spring 3.2 和 Spring-security 3.1 以及 jsf + primefaces 和 hibernate4

我想添加一个并发控制以将用户的会话限制为一个,并在他/她第二次尝试登录时显示和错误消息。问题是。我可以在 chrome 和 firefox 中登录。它不会阻止多次登录。你可以看到我的安全配置。以及第一次登录和第二次登录时产生的日志是怎么回事?

首次登录

第二次登录

0 投票
2 回答
2542 浏览

c# - NHibernate 会话应该如何在 Nancy 中处理每个请求的会话?

真的,我的问题就在标题中...... NHibernate 会话应该如何在 Nancy 中处理,以便按请求进行会话?如果您对此本身有一个很好的答案,那就去做吧……如果您需要更多背景知识,那就是:


我习惯于在 ASP.NET MVC 中使用 actionFilter 在 Web 请求的开始和结束时在 NHibernate 上下文中打开和关闭会话。这样,请求上下文中的每个数据库操作都使用相同的会话。

我以为我在使用 Nancy 的新项目中设置了相同类型的东西,但每次需要会话时,都会生成一个新会话。这是我在引导程序中处理会话打开和关闭的方式(继承自 StructureMapBootstrapper):

ISessionContainer的基于类似于此站点的内容。我的实现ISessionContainer使用 NHibernate 的会话上下文来获取“当前会话”。

现在,当我在我的 Nancy 项目中尝试这个时,每次ISessionContainer.Session请求属性时都会返回一个新会话。我认为这是因为 Nancy 默认情况下未启用基于 cookie 的会话,所以我将其添加到我的引导程序中:

没有骰子。每次要求一个新的会话时,我仍然会得到一个新的会话。

但是,真的,我不想诊断我的问题。我宁愿听听在 Nancy 中处理 NHibernate 会话管理的标准方法是什么。

0 投票
0 回答
171 浏览

php - 什么是会话 cookie?

我正在阅读这篇standard session management cookie文章,我想知道, (SSMC)到底是什么?

它还建议 SSMC 应为 a session cookie,因此在关闭浏览器时过期。

因为这是一篇“改进”的文章,所以我试图在原始文章(这里)中寻找任何定义。根据它,“SSMC 在会话的整个生命周期内处理凭据,因此新分配的 cookie 将在下一个会话之前进行检查(此时它也将在使用后失效)。”

我不明白的是,如果会话在浏览器关闭并且会话的生命周期凭据被删除时过期,用户将登录多长时间?以及应该如何使用它?文章中没有关于“普通”cookie(包含登录信息)是会话 cookie,因此它们应该有一个到期日期。

我真的很困惑,所以我希望有人能帮我解决这个问题。任何与此一样安全的替代方案也受到欢迎。谢谢!

背景:

我正在使用 cookie 编写一个记住我的功能。显然有 2 个 cookie;第一个是SSMC(标准会话管理 cookie),第二个是登录 cookie,包括:

  • 用户名
  • unique token每次用户登录网站时都会重新生成的
  • A是一个永远不会改变series id的特定的唯一随机数username。这些也存储在数据库的表中。
0 投票
1 回答
1998 浏览

android - 会话管理是android调用soap webservices

嗨,我开发了一个名为soap webservices的登录表单。它对我来说完全成功了……但是现在我实现了这一部分。在这里我将进行会话管理……如何在dis登录表单中进行会话管理。请指导我.

dis 是我的 android 编码部分:

指导我如何在 android 应用程序中进行会话。请给我一些想法。