1

我知道这个问题被问了很多,但我没有找到任何可以帮助我的东西。

我正在使用 Java、JSF、EJB、JPA、GlassFish、MySQL。

我使用这些技术开发了带有身份验证的网站,但仅从一个位置(一次一个会话),如果另一个用户从另一个位置登录,他可以看到第一个用户会话的状态。

现在我需要开发一个具有通用主页和一些通用功能的多用户 Web 应用程序,但其余的需要依赖于用户对 Web 应用程序和数据库的多线程访问。

我需要:

  • 限制用户只能从一个位置开始会话的能力,一台计算机
  • 让他们让他们在网站上注册一段有限的时间(可以说,个人资料应该活跃 1 年)
  • 让他们在 1 小时后超时,依此类推......

请帮助我了解我必须做什么!我t know how and where to start, I read a lot of articles about this, but it was just bits and pieces and I don没有这方面的全貌。

感谢您抽出宝贵的时间,祝您编码愉快,并继续您在这里所做的出色工作!

4

1 回答 1

3

如果另一个用户从另一个位置登录,他可以看到第一个用户会话的状态。

这个不对。这个应用程序从一开始就设计得很糟糕。当您将请求和/或会话范围的数据存储在static变量或应用程序范围内时,可能会发生这种情况。这个不对。请求范围的数据应该存储在static请求范围 bean 的非变量中。会话范围的数据应该存储在static会话范围 bean 的非变量中。

换句话说,static在你真正理解变量的含义之前停止使用变量,并且不要将数据存储在太宽的范围内。

也可以看看:

于 2012-11-06T16:39:25.797 回答