ASP Основные удостоверения личности - заявления, которые устарели - PullRequest
1 голос
/ 22 апреля 2020

Я разрабатываю довольно стандартный тип членства ASP Базовый MVC сайт, используя готовую функциональность Identity с Claims. При входе в систему я создаю различные заявки для «FirstName» et c ..., поэтому я могу легко вызывать их на разных страницах, которым может понадобиться это значение.

Я хочу создать заявку с именем «SubscriptionEndDate», поэтому Я могу определить, есть ли у кого-нибудь аутентифицированный логин, но срок его подписки истек. Я разрешаю им go в различных областях с просроченной подпиской (например, страница продления подписки), но они не могут выполнять основные функции сайта.

Все это работает нормально, пока мы не достигнем даты обновления и их подписка возобновляется (через другой фоновый процесс). Так как я разрешаю им сохранять файл аутентификации ie на своем компьютере, чтобы обойти регистрацию, есть время, когда продление происходит, но претензия SubscriptionEndDate устарела. Таким образом, сайт выдаст им ложное сообщение об ошибке, что срок действия их учетной записи истек. Плохо.

Мне просто нужно проверять БД один раз при каждом запуске сеанса (ie. Когда они открывают браузер и go снова на мой сайт, даже если они сохранили свою кулинарную аутентификацию ie). Я уверен, что это было решено раньше - какие-либо предложения?

Спасибо!

1 Ответ

1 голос
/ 22 апреля 2020

Вы можете сделать это с помощью события ValidatePrincipal, подробности приведены в ссылке.

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/cookie?view=aspnetcore-3.1#react-to-back-end-changes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...