2010-03-09 47 views
2

我需要限制我的應用程序中的用戶每次從一臺計算機登錄(即如果他們從計算機2登錄,計算機1會話將結束)。我的應用程序是在Silverlight中創建的,並將通過IIS內的ASP.NET頁面運行。這是一個企業級應用程序,因此任何解決方案都必須具有高性能。單個併發用戶登錄 - ASP.NET/Silverlight

  • 我不想限制用戶使用單臺計算機。
  • 我不能依賴於客戶端的IP地址是唯一的。
  • 所有服務器調用均由Silverlight應用程序調用,因此任何使用SessionId的解決方案都需要牢記這一點。

在Silverlight,ASP.NET或IIS中是否有任何「標準」功能提供此類功能?

什麼其他的編程模型可以用來實現這個目標?

謝謝, 馬克

回答

2

會話cookie;)簡單。基本上,如果用戶登錄到新會話中,請讓他使舊會話失效(將他扔到那裏),或關閉新會話(將他扔到那裏)。

OWA(Exchange 2010)有這樣的機制。

標準特性:無。需要編程。

會話啓動事件可用於執行檢查。

+0

感謝您對TomTom的快速響應。我不太喜歡SessionId的想法,因爲這會在預定義的非活動時間後將用戶關閉 - 除非我錯了,並且Silverlight在客戶端打開時保持SessionId「活着」? – 2010-03-09 10:39:59

+0

另外,如果我將應用程序帶入「瀏覽器外」模式,SessionId將如何工作? – 2010-03-09 10:42:39