gpt4 book ai didi

c# - ASP.NET 按 ID 终止 session

转载 作者:可可西里 更新时间:2023-11-01 08:24:01 24 4
gpt4 key购买 nike

我的应用程序可以控制用户权限,因为并非所有用户都可以访问完整的网站。此时,特定用户的所有这些权限都存储在他的 session 中,因为每次回发都在数据库中搜索对我来说是个问题。

问题是当我取消权限后,用户仍然可以访问该页面,只有当他关闭浏览器时,更新才会生效。

有没有办法通过 ID 终止特定的应用程序 session ,迫使用户再次登录?

最佳答案

"Is there a way to Kill an specific Application Session by the ID, forcing user to Log in again?"

没有。您只能访问执行当前请求的用户(即您自己)的 Session 对象,而不能访问其他用户的 Session 对象。

因此,您需要将用户的 ID 存储在其他地方,例如静态集合中。当用户发出下一个请求时,您可以检查该 id 是否在集合中,并更新权限或注销用户。

另一种选择是将所有当前登录用户的权限对象保存在一个静态集合及其 session 变量中。这样您就可以在不访问该用户的 Session 对象的情况下更改权限对象。

当然,在 Web 应用程序中使用静态变量需要采取通常的预防措施。由于多个线程可以访问它,因此必须同步访问。此外,正如 Alexei Levenkov 指出的那样,如果您有多个服务器,则必须在服务器之间保持数据同步。

关于c# - ASP.NET 按 ID 终止 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18450892/

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