ASP.net表单认证 - 管理员如何终止单个用户的会话

4

我们收到了一个有点奇怪的问题。是否有一种编程方式可以在以另一个用户(例如管理员)身份登录时,使单个用户“注销”?

例如,stackoverflow上的管理员决定让我注销 - 点击一个按钮,然后我将被迫在下一次SO请求时重新登录。

这适用于使用标准表单身份验证运行ASP.net的站点。

1个回答

1
因为已认证的会话依赖于cookie,它们彼此不知道。因此,您需要跟踪已登录用户及其角色,并在每个请求开始时执行检查。
您可以从以下步骤开始跟踪:
  1. 用户A - 角色“管理员”登录。在数据库中创建一行
  2. 用户A - 角色“经理”登录,现在将步骤1中的行标记为过期,并为用户A - 角色“经理”创建一个新行
  3. 用户A - 角色“管理员”尝试执行某些操作。在开始请求方法中,您将验证是否标记了此会话以过期。如果是,请注销并删除步骤1中的行并重定向到登录页。
  4. 用户A单击注销,删除用户A - 角色“经理”行

我在想我们需要这样的东西,有点烦人,但没办法。谢谢你的建议。 - Paddy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接