DotNetNuke UserInfo.Membership.IsOnLine即使在登录后也始终为false

时间:2012-12-02 14:41:57

标签: dotnetnuke membership

我正在尝试在登录期间获取用户的在线状态。我在ValidateUser之后检查以下属性,但它总是返回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社区版。

2 个答案:

答案 0 :(得分:3)

在DotNetNuke中启用在线用户的重要步骤

“在线用户”模块在后台线程(通过调度程序)上工作,以从用户在线列表中添加和过期用户。计划作业应存在于您的安装中,但默认情况下已禁用。

启用预定作业: -

  1. 以超级用户帐户(例如主机)登录您的门户网站
  2. 导航至主机 - >时间表
  3. 编辑“DotNetNuke.Entities.Users.PurgeUsersOnline,DOTNETNUKE”工作(点击铅笔)
  4. 选中“已启用预定”
  5. 点击更新
  6. 点击“立即运行”即可立即生效。
  7. 现在您已配置预定作业,您的用户应该开始处理后台用户。问题是在发生这种情况之前必须设置一个额外的主机设置。

    在线启用用户: -

    1. 以超级用户帐户(例如主机)登录您的门户网站
    2. 导航至主机 - >主机设置
    3. 展开“其他设置”
    4. 选中“在线启用用户”
    5. 点击更新

答案 1 :(得分:1)

可能是一个愚蠢的问题,但您是否检查了用户在线功能是否已在主机设置中打开 - >其他设置?