2016-11-19 63 views
0

我正在使用MVC4-asp.net中的Web应用程序。对于登录,我正在使用简单成员资格提供程序方法登录。所有工作都正常但按照项目要求将不会有同一用户无法同时在不同的机器上登录。如何对MVC简单成员资格进行更改。如果任何用户已登录,并且任何一个用户都尝试使用相同的用户名同时登录,那么它将会显示消息如“此用户已登录”,此时用户将无法登录。如何在MVC4中同时多次阻止同一用户登录

请给出一些建议。 在此先感谢。

+2

你试过搜索吗?这已经讨论了很多次了。您不希望这样做,因为登录的用户可能会丢失(访问)他们的Cookie,导致他们无法从任何地方登录。或者,您可以实施“心跳”,说“我还在登录!”,这也有许多潜在的问题。相反,请采用最简单的方法,让给定用户的每个新登录都会使所有用户的早期会话失效。 – CodeCaster

+0

信号解决方案应该适合您,您是否已经检查过它? – MDDDC

+0

@MDDDC SignalR是实现“心跳”以确定某人是否已登录的众多方式之一,但它实际上只是整体实施的一小部分。 – CodeCaster

回答

0

您可以通过多种方式来进行,简单的办法是

  1. 设置一个标志,在登录时到数据库中。
  2. 每次登录时都检查标志
  3. 在注销时删除标志。

使用这种方法存在一些问题,比如用户在没有注销的情况下关闭浏览器,因为您可以设置会话超时。希望这会有所帮助。

相关问题