User.IsOnline = true даже после FormsAuthentication.SignOut () - PullRequest
3 голосов
/ 29 марта 2012

Я установил UserIsOnlineTimeWindow = "2" в web.config, тогда моя функция logout () была изменена как

public ActionResult LogOff()
    {

        MembershipUser usr = Membership.GetUser();
        usr.LastActivityDate = DateTime.Now.AddMinutes(-2);
        FormsAuthentication.SignOut();
        return RedirectToAction("Index", "Home");
    }

По-прежнему после возвращения в «Домой» после выхода из системы все еще User.IsOnline = true

Только после 2 минут простоя. User.IsOnline = false

Как отключить пользователя от FormsAuthentication.SignOut (); Пожалуйста, помогите.

1 Ответ

4 голосов
/ 29 марта 2012

Не уверен, если signOut также рассматривается как действие.

Я предлагаю вам установить LastActivityDate после метода SignOut. И не забудьте обновить информацию о пользователе.

как это:

MembershipUser usr = Membership.GetUser(false);
FormsAuthentication.SignOut();
usr.LastActivityDate = DateTime.Now.AddMinutes(-2);
Membership.UpdateUser(usr);

Я только что проверил в своем приложении, оно работает.

...