2009-12-24 99 views
1

如果我有用戶的SessionId,我可以在ASP.NET Webform應用程序中結束一些用戶會話嗎?我會做這個Web服務調用。結束用戶asp.net會話

+0

您能否更清楚您的問題? –

+0

您是否試圖阻止您的會話過期? –

+0

@this .__ curious_geek:這是我的理解。應用程序提供了一個WS方法,該方法使用'string',實際上是sessionID。管理員(在這種情況下,OP)想要終止用戶會話,通過此會話標識 – ram

回答

0

線: -

HttpContext.Current.Sesssion.Abandon(); 

將結束用戶會話。如果您沒有從已經使用會話的客戶端調用它,您需要在請求中注入正確的ASP.NET會話cookie。

+0

是的,我在這個方向上有東西,但我不知道如何注入asp.net會話cookie。如果我有SessionId,如何檢索cookie?你能幫我一些額外的信息或有用的鏈接? Thanx –

0

如果您想終止用戶的會話,那麼你可以通過AJAX調用Session.abandon(調用頁面方法)和呼叫結束時將用戶重定向到登錄頁面。

0

您可能有三種選擇。

  1. 如果您正在使用SQL Server數據庫來保存會話狀態,則可以輕鬆瀏覽該會話狀態並刪除特定於行的用戶。因此清除他們的會話。
  2. 將代碼添加到您的基本頁面以檢查文件或數據庫以查看是否應清除該用戶會話。
  3. 由於您知道用戶會話ID,因此您可能能夠自己訪問該網站,然後破解您的ASP.Net會話cookie以使您的會話ID保持不變。然後你必須訪問一個名爲Sesssion.Abandon()的頁面;呼叫。雖然我不確定.NET端的安全限制是否會允許這樣做。
+0

是3是我的場景。我已經知道了。在第三方通過WS方法調用通知我最終用戶會話後,我需要爲該會話用戶提出請求並轉到某個頁面,以便爲用戶調用Session.Abandon()。但我不能谷歌什麼東西在網上有幫助如何做到這一點。 –