2012-12-02 45 views
2

我正在嘗試在登錄時獲取用戶的在線狀態。我在ValidateUser之後檢查以下屬性,但它總是返回false。即使登錄後,DotNetNuke UserInfo.Membership.IsOnLine始終爲false

objUser.Membership.IsOnLine 

只是爲了確認,我把那隻能登錄後可以訪問我的模塊之一下面的代碼。

Dim _currentUser As UserInfo = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo() 
    Dim message as String = IIf(_currentUser.Membership.IsOnLine, "Online", "Not Online") 
    UI.Skins.Skin.AddModuleMessage(Me, message, Skins.Controls.ModuleMessage.ModuleMessageType.BlueInfo) 

它總是顯示「不在線」,而用戶已登錄。 我這麼想嗎? 請幫忙。

我使用的是DNN 6.02.05 Community Ed。

+0

邏輯上GetCurrentUs呃永遠在線,不知道你在這裏試圖實現什麼 –

+0

嗨Prashant,我試圖阻止用戶登錄,如果它已經從另一個位置/終端登錄。 – SamTech

回答

3

重要步驟,在DotNetNuke的

的「在線用戶」模塊工作在後臺線程(通過調度)使在線用戶從在線用戶列表中添加和過期的用戶。計劃作業應該存在於您的安裝中,但默認情況下它是禁用的。

爲了使計劃的作業: -

  1. 登錄到您的門戶網站作爲一個超級用戶帳戶(如主機)
  2. 導航到主機 - >預定
  3. 編輯「DotNetNuke.Entities.Users .PurgeUsersOnline,DotNetNuke的」作業(點擊鉛筆)
  4. 選中‘啓用預定’
  5. 單擊更新
  6. 點擊‘立即運行’通用電氣公司當場有效。

現在您已經配置了計劃作業,您的用戶應該開始處理後臺用戶。問題是在發生這種情況之前,您必須設置一個額外的主機設置。

要在網上讓用戶: -

  1. 登錄到您的門戶網站作爲一個超級用戶帳戶(如主機)
  2. 導航到主機 - >主機設置
  3. 展開「其他設置」
  4. 選中「啓用在線用戶」
  5. 點擊更新
+0

謝謝Hitesh。它確實有幫助。 – SamTech

1

也許是一個愚蠢的問題,但是你檢查用戶在線功能是否在主機設置 - >其他設置中打開?

相關問題