Вот что происходит.Однако штамп безопасности повторно проверяется только с интервалом (по умолчанию каждые 30 минут), чтобы уменьшить количество запросов к базе данных.Вы можете уменьшить этот интервал, даже до нуля, что эффективно делает повторную проверку штампа с каждым запросом.Тем не менее, это увеличит трепетание в базу данных.
services.Configure<SecurityStampValidatorOptions>(o =>
{
// WARNING: this will issue a query for every request
// You might want to rather just compromise with an interval
// less than 30 minutes (5 minutes, 10 minutes, etc.)
o.ValidationInterval = TimeSpan.Zero;
});
Альтернативный вариант - просто выйти из системы после такого изменения.Если цель состоит в том, чтобы просто заставить их повторно войти в систему, это должно сделать трюк намного лучше.Просто введите SignInManager<TUser>
, а затем вызовите SignOutAsync
в этом случае.Вам нужно будет перенаправить пользователя впоследствии.Это может быть непосредственно на странице входа или в какой-либо области защищенного сайта, что затем приведет к тому, что они будут перенаправлены на страницу входа для аутентификации.В любом случае необходимо перенаправление, чтобы действительно удалить файл cookie авторизации.