Один пользователь за раз - PullRequest
1 голос
/ 12 мая 2010

Я пытаюсь реализовать, чтобы только один пользователь мог войти в систему с данными учетных данных.

Я проверяю это во время входа в систему с помощью этого кода:

MembershipUser objectUser = Membership.GetUser(Login1.UserName);
    if (objectUser != null)
    {
        boolIsAlreadyLoggedIn = objectUser.IsOnline;
    }

Это работает нормально. У меня проблема, когда пользователь проверил Запомнить меня. Сценарий: 1. Если пользователь входит в систему с пометкой «Запомнить меня». Закройте браузер. 2. Теперь с другого компьютера или другого браузера войдите в систему с теми же учетными данными. Он может войти. 3. Но если пользователь снова войдет в систему из Browser-1 / machine-1, он сможет войти, так как в браузере есть постоянный cookie.

Может кто-нибудь предложить мне, как я могу решить эту проблему ??

Заранее спасибо

1 Ответ

0 голосов
/ 12 мая 2010

Я предполагаю, что cookie содержит идентификатор сеанса для каждого входа в систему. Просто убедитесь, что каждый пользователь может быть связан только с одним идентификатором сеанса за раз. Каждый новый логин заменяет любой существующий идентификатор сеанса для пользователя новым. И, конечно, любой запрос, использующий идентификатор сеанса с истекшим сроком действия, перенаправляется прямо на страницу «Вы не вошли в систему - вы, возможно, вошли в другое место».

...