0

对于 Asp.NET Web 应用程序,使用状态服务器会话和 Web 场;如何限制用户多次登录。如果用户已经登录,则不应允许他使用来自不同浏览器的相同凭据登录。我找到了一个链接,可以自动注销以前的会话Single Session Enforcement。但要求是让第一个会话保持活动状态,而不是让他退出。每当第二个会话尝试登录时,他应该会收到错误消息,指出“用户已登录”。

我们有 20 分钟的会议时间。

先感谢您。

4

2 回答 2

0

你可以试试这个:forcurrect browser

if (!Session.IsNewSession && Request.UrlReferrer == null)
{
    // new 
}
于 2015-02-18T07:19:21.563 回答
0

为此,您必须IsLoggedin在数据库中设置状态。登录时,您必须检查此状态。如果是,true则用户已经登录。虽然logout您必须将其更改为 false。

如果用户关闭浏览器

 $(function () {
        //logic to signout user when he closes browser
        window.onclick = function () {
            clicked = true;
        };

        window.onunload = function () {
            if (clicked == false) {
                $.get("/account/logout");
            }
        };
    });

在注销时,您可以检查if (GetUserContext() != null)然后更改IsLoggedIn状态。

于 2015-02-18T07:16:17.507 回答