从存储在会话中的 Web 浏览器读取身份验证信息

Reading Authentication information from web browser stored in sessions

问题场景:

我正在做的项目需要读取网络浏览器用来保持客户端登录网站的会话变量。

例如

我正在登录 facebook 和 twitter 等... 当我去 facebook 或 twitter 登录页面时,服务器通过读取存储在我的浏览器或服务器中的会话变量自动带回我的浏览器。

问题陈述:

我实际上想做的是,从 Web 浏览器获取该会话变量,然后存储在本地文件(电子邮件和密码)中。

所以在这种情况下,网站通常(尽管不总是)处理登录凭据的方式是这样的。

  1. 我去网站登录
  2. 如果我的凭据通过验证,服务器会为我的浏览器分配一个带有令牌的 cookie,该令牌映射到我 server/database
  3. 上的值
  4. 收到请求时,我会检查该 cookie 值,如果它具有有效令牌,则呈现与该用户匹配的适当内容。

这可能会发生变化,具体取决于您使用的平台以及是否存在执行此操作的内置机制。

首先Javascript 无法控制会话。它由后端语言处理。如果你想 use/store 任何持久性会话,那么你需要升级到任何后端语言,如 Java/Python/PHP/Nodejs

因此您无法从网页客户端语言访问会话。它由服务器维护。会话管理通常通过cookies的应用程序进行管理。每个浏览器都支持会话管理。

使用客户端语言,您可以访问 cookie,但您不会在其中找到 username/password

Wiki details描述了更多会话管理。


HTTPSession是java.

中用于存储和获取session的接口
HttpSession session = request.getSession();
session.setAttribute("object", object);