首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何管理网站上会话的多个状态?

如何管理网站上会话的多个状态?
EN

Stack Overflow用户
提问于 2018-03-23 05:18:29
回答 1查看 168关注 0票数 6

对于以下情况,任何帮助都是非常感谢的:

Amazon.com是如何管理不同级别的身份验证的,一次是在您访问站点时,第二次是当您访问“您的帐户”->登录和安全功能时?

用户登录(即认证)到一个网站,并没有活动7天。用户重新访问网站,然后再次要求用户进行身份验证。这可以使用cookie实现,但由于安全性问题,它是使用服务器端的会话令牌实现的。7天后,当浏览器提供过期令牌时,用户将被要求重新进行身份验证。

现在,新的要求是,如果用户登录并访问“您的帐户”页面,

  1. 如果用户仍然在“您的帐户”页面上,并且在10分钟内没有任何活动,那么应该要求用户重新进行身份验证。

或。

  1. 如果用户从“您的帐户”页面中出来,并在10分钟后重新访问“您的帐户”页面,则应该要求用户重新进行身份验证。

因此,使用令牌,我只能管理一个时间段的不活动,如何处理多个状态,即状态(7天)和部分状态(10分钟)。

如何处理这种情况的行业实践?不想使用cookie作为安全问题。而且,由于SSO提供程序正被用于身份验证,所以使用数据库将是最后一个选项。

-大卫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-23 05:51:17

如何处理这个问题将归结为当前到期的会话令牌逻辑的实现细节。

一种常见的方法是将会话令牌存储在数据库或内存缓存中。如果是这样,您可以简单地添加一个新列,该列指示用户何时打开帐户页。

例如,您的新列可以称为accountSettingsStartTime。通常情况下,它没有价值,但是当用户导航到accounts页面时,它将使用当前时间填充。当用户从帐户页面导航时,您可以清除它。然后,当您检查一个安全令牌时,您只需要检查您的标准7天到期日,以及检查accountSettingsStartTime列并确保它在最后10分钟内。

或者,当用户导航到帐户设置时,您可以给用户一个完整的新会话令牌,到期时间为10分钟,并对涉及帐户设置的操作强制使用该令牌。然后,您可以在帐户设置更改时检查该令牌,并要求用户重新验证它是否过期(并使其标准的7天令牌无效)。当然,这需要在客户端付出更多的努力。

正如人们所说,剥猫皮的方法不止一种:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49442823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档