检查是否有其他用户登录进行消息传递

问题描述:

是否有可能找出其他用户是否使用ASP.NET Forms Authentication登录了网站?检查是否有其他用户登录进行消息传递

  • 用户A向用户B发送消息。
  • 如果用户B登录到网站,应该弹出一个窗口。
  • 如果没有,它会转到通常的通知页面。

我该如何去实施这种情况?

那么,如果你有一个数据库中的“活动会话”列表,它应该知道用户登录是否当前有效,即将用完或不活动。如果您有一个轮询邮件的脚本,如果邮件已发送且无法发送,则邮件将转至收件箱,或者显示在屏幕上。

+1

感谢您的回应,目前我不使用会话在我的网站,当用户登录时,我应该只是将他们的用户ID放在登录用户表中,这是否有意义? – pmillio 2011-05-30 21:53:46

+0

好吧,不,如果你不使用会话,你怎么确定页面上的人登录?如果他们共享IP,会怎么样?你肯定会用暂时的数据做一些事情,而且,你如何验证它们是否退出? – BugFinder 2011-05-31 11:28:56

+0

你好我正在使用formsauthentication和cookie来确保一个人登录,到目前为止,这似乎工作得很好。在注销时,我使用FormsAuthentication.SignOut()方法。 – pmillio 2011-05-31 23:04:29

正常情况下,某些会话变量已设置为例如已登录的用户标识。检查是否存在,如果是的话,他们已经登录。

虽然我自己没有使用Formsauthentication,所以我无法准确。

我正在通过表单登录和global.asax这样做。如果某人成功登录,我将他/她的用户名和会话ID添加到应用程序值的字典中,该应用程序值可以全局访问。如果我在global.asax中得到一个Session_end,我删除这个条目。