Как использовать уже существующие таблицы для Entity Framework и ASP. Net Core Identity - PullRequest
1 голос
/ 17 февраля 2020

Я пытаюсь использовать аутентификацию в ASP. NET Базовом проекте с использованием Angular. Проблема в том, что у нас есть база данных, полная таблиц, которые уже используются. В частности, у нас есть таблица User и таблица UserTypes, которые в основном являются нашими «ролями». Я хотел бы использовать IdentityServer, так как это кажется вариантом по умолчанию при создании нового проекта. Я использовал следующую команду в консоли диспетчера пакетов:

Scaffold-DbContext "Server=-----;Database=MP_Administration;Persist Security Info=True;User id=sa; Password=------" 
         Microsoft.EntityFrameworkCore.SqlServer 
         -OutputDir Models -Context MpContext -t User, UserType

Она отлично работает, но в моем Startup.cs я изо всех сил пытаюсь заставить все работать. Я хотел бы сделать что-то вроде этого:

services.AddDbContext<MpContext>(options =>
         options.UseSqlServer(Configuration.GetConnectionString("MPAdministrationDatabase")));

services.AddDefaultIdentity<User>()
        .AddEntityFrameworkStores<MpContext>();

services.AddIdentityServer()
        .AddApiAuthorization<User, MpContext>();

services.AddAuthentication()
        .AddIdentityServerJwt();

Но Identity Server, похоже, не нравится MpContext (который реализует DbContext), сгенерированный командой scaffolding, упомянутой ранее. Я пытался написать свои собственные версии ApiAuthorizationDbContext, которые бы заняли место DbContext, а также KeyApiAuthorizationDbContext, но я постепенно начинаю чувствовать, что тону. Любая помощь будет принята с благодарностью.

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