Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Logout конкретному пользователю / 15 сообщений из 15, страница 1 из 1
07.06.2012, 20:30
    #37830192
QWLite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
Здравствуйте!

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

Если это возможно то как?
...
Рейтинг: 0 / 0
07.06.2012, 21:22
    #37830225
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
Нужно завязываться на роль, администратор исключает пользователя из роли и тот автоматом теряет доступ к тому или иному ресурсу. А то, о чём ты пишешь - бред сивой кобылы.
...
Рейтинг: 0 / 0
07.06.2012, 21:56
    #37830250
QWLite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
Спасибо за ответ.

Допусти ситуация пользователь заходил из нескольких мест.
Админу нужно закрыть все лишние сессии пользователя.

Если вы пользователь вконтатка, то там есть функция завершить все сеансы, хотелось бы аналогичную функцию.
...
Рейтинг: 0 / 0
07.06.2012, 22:00
    #37830253
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
Я разговариваю со стеной? Роли. Читать отседова и до забора.
...
Рейтинг: 0 / 0
08.06.2012, 01:40
    #37830345
QWLite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
Не знаю на сколько это соответствует фэншую, но сделал следующим образом.
В таблице с пользователями добавил еще одно поле ForcedLogout.

И написал фильтр который в OnActionExecuting проверяет значение упомянутого поля,
если оно true, то вызывает SignOut


Вроде работает.
...
Рейтинг: 0 / 0
08.06.2012, 08:38
    #37830428
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
QWLite,

у нас используется в профиле юзера так называемый SessionID, который пишется в идентификационный кук, его изменение в БД автоматически приводит к невалидности клиентской идентификации
...
Рейтинг: 0 / 0
08.06.2012, 10:34
    #37830611
QWLite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
sp,

Хотелось бы узнать детали реализации, не подскажите где можно посмотреть?
...
Рейтинг: 0 / 0
09.06.2012, 23:38
    #37833365
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
QWLitesp,
Хотелось бы узнать детали реализации, не подскажите где можно посмотреть?

да ничего военного:
- кладете в кук сгенерированный GUID и пишете его в базу к юзеру
- во время каждой операции в БД первая проверка на SessionID - если он не совпадает - делаем signout юзеру
...
Рейтинг: 0 / 0
10.06.2012, 14:41
    #37833689
QWLite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
Спасибо!
Я, в принципе, так себе это и представлял)
...
Рейтинг: 0 / 0
11.06.2012, 15:02
    #37834356
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
А вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно
...
Рейтинг: 0 / 0
11.06.2012, 15:31
    #37834388
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
OracleLoverА вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно
Эм.. HttpModule знаете такое понятие? Через него достаточно просто отслеживать любой запрос пользователя
...
Рейтинг: 0 / 0
11.06.2012, 16:40
    #37834455
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
SanSYSOracleLoverА вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно
Эм.. HttpModule знаете такое понятие? Через него достаточно просто отслеживать любой запрос пользователя

угу, только его выборочно не повесишь на те действия или странички которые должны проверять - в итоге каждый запрос будет идти через фильтр, не оптимально-с.
...
Рейтинг: 0 / 0
11.06.2012, 20:56
    #37834694
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
OracleLover, если использовать свой хендлер, то через фильтр получится, а в модуле - нет, можно также как в mvc заюзать атрибуты
хз как для вас, а для меня это не является проблемой
а по поводу не оптимально - посмотрите как устроен asp.net mvc изнутри, там многие вещи не кажутся оптимальными
...
Рейтинг: 0 / 0
12.06.2012, 00:50
    #37834857
QWLite
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
OracleLoverА вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно

QWLiteИ написал фильтр который в OnActionExecuting проверяет значение упомянутого поля,
если оно true, то вызывает SignOut

Ну вообще-то это он и есть :-)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public class ForcedLogoutAttribute:IActionFilter
{
 public void OnActionExecuting(ActionExecutingContext filterContext)
 {
   if(условие)
     FormsAuthentication.SignOut();
 }
}
...
Рейтинг: 0 / 0
12.06.2012, 09:52
    #37834975
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logout конкретному пользователю
QWLiteOracleLoverА вот если бы вы писали на MVC, там можно на контроллер повесить кастомный атрибут и ммм... делать что угодно

QWLiteИ написал фильтр который в OnActionExecuting проверяет значение упомянутого поля,
если оно true, то вызывает SignOut

Ну вообще-то это он и есть :-)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public class ForcedLogoutAttribute:IActionFilter
{
 public void OnActionExecuting(ActionExecutingContext filterContext)
 {
   if(условие)
     FormsAuthentication.SignOut();
 }
}



неплохо неплохо )
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Logout конкретному пользователю / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]