2016-01-21 5 views
0

Я использую таблицы ASPNET Identity для моего приложения MVC 5. Каждую ночь мы выполняем «обслуживание» в нашей базе данных. Если мы модифицируем что-то под этим пользователем, я хочу инактивировать их текущий сеанс, чтобы следующее действие, которое они выполняют в веб-приложении, отбросит их обратно на экран входа в систему. Аутентификация/авторизация уже встроена в мое приложение с использованием AspNet.Identity. Мне просто нужен способ разбудить его, установив флаг, если он существует.Выход из системы идентификации ASP.Net из SQL

Например, таблица ASPNETUsers имеет столбец «Неактивный», но это слишком долго. Я ищу столбец «ThisGuyIsLoggedIn».

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

forcefully log out a specific user among all online users

+1

Одним из возможных подходов для SQL-сервера было бы сделать вызов вашего MVC-приложения с идентификатором пользователя, тогда ваше приложение MVC будет кэшировать список пользователей для обновления. Возможно ли это здесь? –

+0

Хорошо техническое обслуживание выполняется с помощью хранимой процедуры. Я не знал, что хранимая процедура SQL может ссылаться на что-либо в MVC. Но если так, то да, это было бы возможно. – Rafiki

+1

Существует несколько способов создания веб-запросов из SQL-proc, в зависимости от того, включена ли интеграция CLR и т. Д. Вот один из них: http://stackoverflow.com/questions/9422914/calling-an-mvc3-action- from-a-sql-clr-stored-procedure Вот еще один: http://stackoverflow.com/questions/22067593/calling-an-api-from-sql-server-stored-procedure –

ответ

1

После игры с некоторыми из колонок, я понял, вы можете изменить столбец SecurityStamp, который аннулирует пользователя и вызвать какой-либо аутентификации на провал. Просто не меняйте его на NULL.

UPDATE AspNetUsers 
SET SecurityStamp = NEWID() 
WHERE Id = @USER_ID 
+0

Дальнейший контекст этого ответа, который, как мне кажется, является для вас способом, можно найти здесь: http://stackoverflow.com/questions/19487322/what-is-asp-net-identitys-iusersecuritystampstoretuser-interface –

Смежные вопросы