Logout конкретному пользователю

Здравствуйте!Ситуация следующая, есть сайт. На этом сайте есть пользователи и есть админ.Есть ли возможность админу сделать Logout конкретному пользователю?То есть, если это событие произошло, то при переходе по ссылке, пользователя выкинуло на страницу авторизации.Если это возможно то как?
14 ответов

Нужно завязываться на роль, администратор исключает пользователя из роли и тот автоматом теряет доступ к тому или иному ресурсу. А то, о чём ты пишешь - бред сивой кобылы.


Спасибо за ответ. Допусти ситуация пользователь заходил из нескольких мест. Админу нужно закрыть все лишние сессии пользователя.Если вы пользователь вконтатка, то там есть функция завершить все сеансы, хотелось бы аналогичную функцию.


Я разговариваю со стеной? Роли. Читать отседова и до забора.


Не знаю на сколько это соответствует фэншую, но сделал следующим образом.В таблице с пользователями добавил еще одно поле ForcedLogout.И написал фильтр который в OnActionExecuting проверяет значение упомянутого поля,если оно true, то вызывает SignOutВроде работает.


QWLite,у нас используется в профиле юзера так называемый SessionID, который пишется в идентификационный кук, его изменение в БД автоматически приводит к невалидности клиентской идентификации


sp,Хотелось бы узнать детали реализации, не подскажите где можно посмотреть?


sp,Хотелось бы узнать детали реализации, не подскажите где можно посмотреть?
да ничего военного:- кладете в кук сгенерированный GUID и пишете его в базу к юзеру- во время каждой операции в БД первая проверка на SessionID - если он не совпадает - делаем signout юзеру


Спасибо!Я, в принципе, так себе это и представлял)


А вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно


А вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно
Эм.. HttpModule знаете такое понятие? Через него достаточно просто отслеживать любой запрос пользователя


Эм.. HttpModule знаете такое понятие? Через него достаточно просто отслеживать любой запрос пользователя
угу, только его выборочно не повесишь на те действия или странички которые должны проверять - в итоге каждый запрос будет идти через фильтр, не оптимально-с.


OracleLover, если использовать свой хендлер, то через фильтр получится, а в модуле - нет, можно также как в mvc заюзать атрибутыхз как для вас, а для меня это не является проблемойа по поводу не оптимально - посмотрите как устроен asp.net mvc изнутри, там многие вещи не кажутся оптимальными


А вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно
И написал фильтр который в OnActionExecuting проверяет значение упомянутого поля,если оно true, то вызывает SignOut
Ну вообще-то это он и есть :-)
public class ForcedLogoutAttribute:IActionFilter
{
 public void OnActionExecuting(ActionExecutingContext filterContext)
 {
 if(условие)
 FormsAuthentication.SignOut();
 }
}


Ну вообще-то это он и есть :-)
public class ForcedLogoutAttribute:IActionFilter
{
 public void OnActionExecuting(ActionExecutingContext filterContext)
 {
 if(условие)
 FormsAuthentication.SignOut();
 }
}
неплохо неплохо )