я использую FormsAuthentication и Auth Механизм пользователей черезВыход пользователя из всех браузеров
FormsAuthentication.SetAuthCookie(...);
Могу ли я выход из системы текущего пользователя из все браузеры каким-то образом?
я использую FormsAuthentication и Auth Механизм пользователей черезВыход пользователя из всех браузеров
FormsAuthentication.SetAuthCookie(...);
Могу ли я выход из системы текущего пользователя из все браузеры каким-то образом?
Добавьте параметр guid внутри параметров аутентификации. Также сохраните guid в таблице сеанса, например, как это;
public class sessionLog
{
public int UserID { get;set;}
public string Guid {get;set;}
// ... may be you can add IP, datetime or isSessionClosed etc
}
При входе в систему добавить строку в таблицу, сохранить guid внутри файла cookie. Проверьте аутентификацию пользователя с помощью идентификатора пользователя и указателя.
Удалите вывод строки с помощью guid или удалите все с идентификатором пользователя для закрытия всех сеансов.
Технически, это невозможно. Пользователь аутентифицируется с помощью зашифрованного файла cookie, установленного в браузере. Регистрация пользователя просто недействительна для этого файла cookie. Невозможно затем аннулировать файлы cookie, которые могут существовать в других браузерах или даже других машинах.
Единственный способ, которым вы могли бы достичь чего-то подобного, это указать каким-то образом связать с учетной записью пользователя, что они были выведены из системы. Это может быть дополнительный столбец в вашей таблице профилей или другом носителе постоянного типа. Независимо от того, что вы делаете, вам нужно будет посмотреть на это, когда аутентифицированный пользователь обратится к некоторой части вашего сайта. Если они были ранее выведены из системы, вы затем выведете их снова на этом экземпляре браузера/машины. Когда они войдут в систему снова, вы очистите все, что вы ранее установили, чтобы они оставались аутентифицированными. Другими словами, вы должны проверить и аннулировать файл cookie auth в каждом браузере, когда пользователь пытается получить доступ к сайту из этого браузера. Невозможно ничего сделать, пока пользователь не обратится к вашему сайту с этого конкретного браузера.
Вам необходимо сохранить список пользователей, зарегистрированных в переменной приложения. Если пользователь с этим Руководством пытается снова войти в систему, вы можете отобразить сообщение, которое они уже зарегистрировали в другом месте ....
Я не думаю, что вы можете контролировать сеанс пользователей после его предоставления, но вы можете добавить логику, чтобы запретить доступ к функциям, если вы пытаетесь войти в систему из другого места (я не уверен, почему вы хотели бы это сделать, хотя из-за того, что вход в систему с разных устройств не всегда делается злонамеренно).
Что вы подразумеваете под всеми браузерами ... вы имеете в виду IE, Edge, Chrome, Safari и т. Д.? Ака ... каждый браузер установлен на компьютере? Насколько мне известно, вам нужно выяснить, как найти список всех установленных браузеров, а затем выяснить, как (если это возможно) заставить пользователя выйти из вашей системы в этом браузере. –
Например, если я вошел в систему на одном компьютере и на другом. Мне нужно выйти из текущего пользователя из двух браузеров. У Дойу есть идея, как это сделать? – Vnuuk
Когда вы хотите это сделать? когда пользователь выходит из одного браузера или с сервера с помощью какого-либо интерфейса администратора. – mfahadi