Членство в ASP.NET: безопасное удаление пользователя - PullRequest
2 голосов
/ 18 ноября 2010

Я администратор и мне нужно удалить пользователя.

Если пользователь аутентифицируется в момент, когда я его удаляю, какова лучшая стратегия заставить удаленного пользователя выйти из системы при следующем запросе?

Должен ли я обрабатывать эту операцию в событии Application_AuthenticateRequest?

Другими словами, может ли быть идея проверить в событии AuthenticateRequest, существует ли пользователь еще и, если нет, удалить все куки и перенаправить на страницу входа?

Ответы [ 2 ]

2 голосов
/ 20 ноября 2010

После некоторых исследований и оценки, наконец, я нашел стратегию для обработки этого сценария, поэтому в Global.asax:

protected void Application_AuthenticateRequest()
{
    var user = HttpContext.Current.User;
    if (user != null)
    {
        if (Membership.GetUser(user.Identity.Name, true) == null)
        {
            CookieHelper.Clear();
            Response.RedirectToRoute("Login");
        }
    }
}

Когда запрос аутентифицирован, мы проверяем, что пользователь все еще существуетВ системе, если не все куки будут удалены, а запрос будет перенаправлен на страницу входа.

1 голос
/ 18 ноября 2010

Если вы удалите их, то я предполагаю, что их следующий запрос, скорее всего, приведет к ошибке для них.

Даже если у них есть cookie-файл аутентификации, любая страница, которая проверяет базу данных по их идентификатору UserID, очевидно, выдастисключение.

Скорее всего, вы можете просто отключить пользователя, а не удалять его.

...