Я следовал этой статье, чтобы реализовать совместное использование файлов cookie между приложением ASP.Net Core 2.2 MVC с ASP.Net Core Identity и приложением ASP.Net Framework 4.6 MVC с ASP.Net Identity:
https://docs.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view=aspnetcore-2.2
В статье упоминается, что должна использоваться общая база данных пользователей:
" Использовать общую базу данных пользователей
Убедитесь, что система идентификации для каждого приложения направлена на одну и ту же базу данных пользователей. В противном случае система идентификации выдает сбои во время выполнения, когда она пытается сопоставить информацию в файле cookie аутентификации с информацией в своей базе данных."
Я заметил, что существуют некоторые небольшие различия в схемах между таблицами удостоверений ядра ASP.Net - таблицами AspNetUsers и т. Д. - и таблицами удостоверений ASP.Net (стандартные),
Используемая мной «база данных общих пользователей» содержит ASP.Net Core версию таблиц Identity.
Мне не удалось получить общий доступ к файлам cookie, посколькустолбца «LockOutEndDateUtc», который был частью предыдущей версии таблицы AspNetUsers, больше нет в таблице - в частности, столбец теперь является «LockoutEnd».
Из-за отсутствующего столбца LockOutEndDateUtc,выдается ошибка при вызове Authentication.User.Identity.GetUserId () из приложения ASP.Net 4.6, которое указывает на общую пользовательскую базу данных, содержащую версию ASP.Net Core таблиц Identity.Исходя из этого, мне интересно, могут ли возникать дополнительные проблемы при совместном использовании файлов cookie между ASP.Net 4.6 и приложениями ASP.Net Core 2.2.
Кто-нибудь еще сталкивался с этой проблемой?И / или каков наилучший способ продолжить?
(я могу добавить столбец в таблицу AspNetUsers и обойти проблему; однако я мог бы предположить, что существует правильный / общий способ решения этой проблемы.)