Какова наилучшая практика для поддержки регистрации учетной записи пользователя и входа в систему для пользователей веб-сайта (клиента), а также для поддержки учетных записей пользователей cms / входов администратора с использованием отдельной службы идентификации пользователей как для сайта, так и для cms в одном проекте?
Чтобы оценить, как этот сценарий может работать, я создал тестовый проект mvc. net core 3.1, который использует Piranha CMS, который, в свою очередь, использует службу идентификации пользователя для управления аутентификацией для доступа к cms. панель администратора, соедините это с сайтом mvc, также поддерживающим идентификацию пользователя для отдельных учетных записей для клиентов / пользователей веб-сайта для регистрации / входа.
Ниже приведен пример метода класса ConfigureServices для запуска, иллюстрирующий настройку как cms, так и веб-сайта, использующего службу идентификации пользователя, в настоящее время это приводит к ошибкам при запуске с сообщением - System.InvalidOperationException: «Схема уже существует: Identity.Application»
// CMS Setup
services.AddPiranha(options =>
{
options.UseFileStorage();
options.UseImageSharp();
options.UseManager();
options.UseTinyMCE();
options.UseMemoryCache();
options.UseEF<SQLServerDb>(db => db.UseSqlServer(Configuration.GetConnectionString("db-cms-users")));
options.UseIdentityWithSeed<IdentitySQLServerDb>(db => db.UseSqlServer(Configuration.GetConnectionString("db-cms-users")));
});
// Site Setup
services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("db-site-users")));
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true).AddEntityFrameworkStores<ApplicationDbContext>();
Проблема с приведенным выше кодом факт если идентификатор пользователя используется как для cms, так и для сайта, и это конфликтует из-за того, что для обоих используется удостоверение «по умолчанию», есть ли способ обойти эту проблему и при этом поддерживать как cms, так и веб-сайт для пользователя / учетных записей.
Таким образом, мой вопрос, что оба они вместе в одном проекте выглядят не очень хорошо, и я хотел бы знать в этом сценарии, как лучше всего поддерживать веб-проект, использующий как cms, так и поддерживаемый сайт. с идентификатором пользователя и / или если это вообще возможно в этом контексте?