2014-09-19 134 views
1

上午通知使用ASP.net MVC 5与标识2 当用户注销ASP.net MVC时有通知的方式注意:A用户可以在不访问或点击“注销”链接的情况下注销。 当用户注销时,我想获取一些与会话相关的信息,并写入数据库。 谢谢当用户注销ASP.net MVC

+0

不知道你在做什么。由于您知道身份验证cookie的长度,因此当用户登录时,您可以向数据库写入登录日期和日期,以便过期。如果在此之前,他们点击注销,则更新当前日期和时间的值。 – MikeSmithDev 2014-09-19 20:57:08

+0

@MikeSmithDev说认证超时值是3分钟。这意味着,在3分钟不活动后,系统会提示用户再次登录(注意:每次他们到达站点时,3分钟的时钟都会被重置 - 所以只有在他们闲置时才会超时)。 – teko 2014-09-19 21:17:51

+1

如果您有一个滑动cookie,则注销将在上次加载3分钟后发生。你是否记录每个页面击中认证用户?如果是这样,你可以放弃最后一次活动。 – MikeSmithDev 2014-09-19 21:24:17

回答

0

你可以做到这一点与SignalR没有太大的困难。您可以为OnlineUsers创建一个表,并在集线器的OnConnected和OnDisconnected事件中添加/删除。

没有它就很难获得可靠的解决方案。

+0

我相信他的意思是通知服务器,而不是用户,因为他说用户可以在不访问的情况下注销。我猜这意味着cookie过期了。不太清楚。 – MikeSmithDev 2014-09-19 19:11:44

+0

是的@MikeSmithDev你是对的,我想登录到数据库,用户x是在y日期注销 – teko 2014-09-19 19:20:44

+0

对不起,我应该在我的解释更清晰。 SignalR是一个.Net组件,它允许您的服务器在浏览器中了解客户端会话。它使用网络套接字,长轮询等组合来实现这一点。尽管如此,这些都是从你身上抽象出来的。重要的是服务器上运行的SignalR Hub中有2个事件可用于写入数据库。即,OnConnected/OnReconnected和OnDisconnected。 – 2014-09-19 19:31:39