gpt4 book ai didi

asp.net - 将 ASP.NET 用户 session 限制为单个事件 session 的最佳做法是什么?

转载 作者:行者123 更新时间:2023-12-01 13:52:36 27 4
gpt4 key购买 nike

我有一个要求,即登录用户在 ASP.NET 应用程序中一次只能有 1 个事件 session 。目前,单个用户可以同时从多台机器登录并获得多个 session 。我将标准 ASP.NET 成员身份与 AppFabric 一起用于 session 状态管理。我是否缺少 ASP.NET 成员资格中可用的一些基本开关来强制执行此操作?否则,计划是向成员数据库添加一个表,该表将包含 aspnet_Users.UserId 和 sessionId 列,并简单地确保当前 session ID(后入)是唯一允许的 session 。谢谢你的帮助!

最佳答案

您可以像在用户表中保存上次登录时间一样简单地执行此操作。在登录时将相同的信息保存在用户的 session 状态中。

检查时间是否与每个页面请求相匹配。如果服务器在您比较时在用户表中有更新的时间,您就知道您不再处于该用户的最新 session 中,并且可以通过重定向到注销来终止当前 session ,或者通过重新登录当前 session 来终止较新的 session session 。

从技术上讲,这可以通过 session 的任何唯一可识别信息来完成,例如 GUID,甚至是 session ID 本身,但我喜欢时间,因为它还提供了其他一些你可以衡量和找出的东西, "当前 session 是多少岁?"

但是...我通常喜欢看到网络应用程序按照预期的方式运行,这是用户 ID 维护 session 的地方,而不是连接本身。当网站将用户踢出时,用户会非常生气。如果您需要这样做,一定要有充分的理由.. 例如订阅服务(可能是流媒体),一次只能访问一台设备或类似的服务。

关于asp.net - 将 ASP.NET 用户 session 限制为单个事件 session 的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8418429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com