【问题标题】:ending users asp.net session结束用户 asp.net 会话
【发布时间】:2009-12-24 12:50:05
【问题描述】:

如果我有用户的 SessionId,我可以在 ASP.NET Webform 应用程序中结束一些用户会话吗?我会将其作为 Web 服务调用来执行。

【问题讨论】:

  • 你能把你的问题说清楚一点吗?
  • 您是否试图阻止会话过期?
  • @this.__curious_geek:这是我的理解。应用程序提供了一个WS方法,它采用string,实际上是sessionID。管理员(在本例中为 OP)想要终止用户的会话,由该 sessionID 标识
  • Ram 的理解是正确的。

标签: asp.net session


【解决方案1】:

行:-

HttpContext.Current.Sesssion.Abandon();

将结束用户会话。如果您不是从已经在使用会话的客户端调用它,则需要通过在请求中注入正确的 ASP.NET 会话 cookie 来执行此操作。

【讨论】:

  • 是的,我在这个方向上想了一些东西,但我不知道如何注入 asp.net 会话 cookie。如果我有 SessionId,如何检索 cookie?您能否帮助我提供一些其他信息或有用的链接?谢谢
【解决方案2】:

如果您希望终止用户的会话,则可以通过 ajax 调用页面方法,该方法调用 Session.abandon(),并在调用完成后重定向用户登录页面。

【讨论】:

    【解决方案3】:

    您可能有三个选择。

    1. 如果您使用 SQL Server 数据库来存放会话状态,则可以轻松地浏览该数据库并删除特定于行的 tot hat 用户。从而清除他们的会话。
    2. 将代码添加到您的基本页面以检查文件或数据库以查看是否应清除该用户会话。
    3. 由于您知道用户会话 ID,您可以自己访问该站点,然后破解您的 ASP.Net 会话 cookie 以使您的会话 ID 相同。然后你必须访问一个调用 Sesssion.Abandon(); 的页面。称呼。虽然我不确定 .NET 方面的安全限制是否允许这样做。

    【讨论】:

    • 是的 3 是我的场景。我已经想通了。在第 3 方通过 WS 方法调用最终用户会话通知我之后,我需要为该会话用户提出请求并转到某个页面,该页面将为该用户调用 Session.Abandon()。但我无法在网上搜索到任何有用的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多