2013-05-18 73 views
0

我正在编写一个Web应用程序,并且希望将其作为单个用户应用程序(在其他系统甚至其他浏览器中不登录)。单用户登录确定

一个解决方案是在用户登录时在我的数据库中设置一个表字段,并在他退出时重置。

但问题是当一个意外事件发生时(如浏览器崩溃,电力消失,网络probs等)。

实现此目标的最佳方法是什么?

谢谢

回答

0

有没有办法可以做到这一点。

想象一下用户A和B在一台执行NAT的路由器后面,这意味着他们在互联网上都有相同的IP地址。

你如何确定哪个是哪一个没有在浏览器中存储一些数据?

如果您存储在浏览器中的数据,那么你就不能拥有一个登录为不同的浏览器

+0

如何确定存储数据?我可以使用cookie来检查我的使用登录吗? –

0

你的解决方案是正确的,则应该在dB的申请进行此项操作。 但是对于浏览器崩溃或其他事件,您应该设置一个计时器,如果用户在上述时间内没有做任何事情,则应该将其注销。 您可以编写控制台应用程序并将其放入服务器的任务计划程序中,或者如果您使用Linux服务器,则应使用Cron Jobs。 以其他方式,您可以为Sql Server数据库编写SQL作业。

更新: 您可以在数据库中为上次操作时间设置一个字段。 当用户点击某个链接或使用页面(我的意思是向服务器发送请求的操作)时,应该用当前时间更新该字段。 ,你应该警告用户,如果没有做任何事情,例如在30分钟内,系统登录帐户。 Console应用程序,即您放入任务调度程序,检查当前时间和上次操作时间,如果差异超过30分钟,则知道用户必须登录。

+0

_if用户在提到的时间内没有做任何事情= =>如何理解它? _为Sql Server Database_ =写一个sql作业为什么?完成用户活动? –

+0

如何通过编码来完成?你能举个例子吗?Thx –