Как использовать Ninject Injection с аутентификацией на основе токенов Owin для веб-API - PullRequest
0 голосов
/ 22 января 2019

Я создаю WEB API, который будет работать с независимой инъекцией зависимостей и аутентификацией на основе токенов OWIN. Мой контроллер веб-API имеет только один конструктор, который ожидает объект DbContext от ninject в качестве параметра. Пока я не добавлю элемент запуска OWIN в Project, WebAPI работает успешно. Но когда я добавляю элемент запуска OWIN и пытаюсь запросить контроллер WebAPI, я получаю сообщение об ошибке ниже.

Первая ошибка

Согласно моим исследованиям, некоторые люди советовали установить пакеты Ninject.Web.Common.OwinHost и Ninject.Web.WebApi.OwinHost, а затем добавить дополнительные коды app.UseNinjectMiddleWare, app.UseNinjectWebApi в функцию конфигурации, как показано ниже.

public void Configuration(IAppBuilder app)
{ 
    HttpConfiguration httpConfiguration = new HttpConfiguration(); 
    ConfigureOAuth(app);             
    app.UseNinjectMiddleware(NinjectWebCommon.CreateKernel);
    app.UseNinjectWebApi(httpConfiguration);
    WebApiConfig.Register(httpConfiguration);
    app.UseWebApi(httpConfiguration);       
}

Но когда я спроектировал OWIN Startup таким образом, я начал получать другую ошибку, которая показана ниже.

Вторая ошибка

В таком случае, как я могу использовать Ninject и OWIN Token Based Authentication вместе?

Заранее большое спасибо.

...