2009-09-25 49 views
0

我创建了一个桌面应用程序,它具有服务器客户端访问...每个用户将有不同的登录。现在的问题是,当一个用户登录时,同一用户无法从其他PC登录... msg应该是'用户已登录'。在ASP.Net中,它可以通过会话来实现..但是,如何在桌面应用程序中执行此操作。有一个解决方案..我们可以为登录的用户维护一个日志表。但是,这也将面临死锁的情况....是否有任何其他解决方案为单一用户登录?单用户单登录

+0

只是想添加一条评论。 '用户已经在使用'不是一个很好的答案停止尝试然后用户已经登录,因为它“可以”是野蛮的强迫获得用户名。只是我的2美分... – bastianneu

+0

当然,除非输入正确的凭证(用户名和密码不仅仅是用户名),否则不应显示“已登录”消息。那么通常就没有更多的信息泄漏。 –

+0

好吧..这不是问题..但是,我不应该允许进一步登录,如果用户已经登录在不同的电脑 – Nila

回答

1

您可以设置登录超时以避免死锁,并发送“活”信号到服务器以更新用户的状态登录。

+0

好主意..谢谢你!我会试试这个 – Nila

1

然后你需要检查你的用户是否登录或登录之前。您可以在用户表格或特殊表格中使用特殊字段。什么僵局?所有你需要的是一个读访问,以确保特定用户没有登录。

+0

我怀疑他意味着与死锁是针对那些用户不记录日志(应用程序崩溃,网络问题等)。如果没有处理,用户将再次登录问题。 –

+0

这可以通过“活动超时”来减轻 - 即,如果用户未以x分钟/秒/小时(取决于应用程序以及使用频率)访问应用程序,则会自动踢出。这有点混乱,但它在某些情况下会起作用。 – Streklin

+0

我应该怎么知道他没有访问应用程序? – Nila