Образ Docker для dotnet core 2.1 и IIS - PullRequest
       44

Образ Docker для dotnet core 2.1 и IIS

0 голосов
/ 26 сентября 2018

Я докертизировал базовое приложение .Net, и мое приложение использует IIS-express для базовой аутентификации.Проблема заключается в том, что всякий раз, когда я запускаю свое приложение в контейнере, я не получаю данные обратно, потому что базовая аутентификация не работает внутри контейнера, потому что образ Docker не имеет IIS-express.

В настоящее время яЯ использую этот образ:

microsoft / dotnet: 2.1.301-sdk

Существует ли какой-либо образ Docker, содержащий как ядро ​​.dotnet, так и IIS-express?Любые другие идеи !!

Ответы [ 3 ]

0 голосов
/ 27 сентября 2018

Это может быть проще и быстрее, чем вы ожидаете, не полагаться на iis и вместо этого выполнять базовую аутентификацию в коде.Написание атрибута Authorize удивительно просто.

Вот пример: https://www.johanbostrom.se/blog/adding-basic-auth-to-your-mvc-application-in-dotnet-core. Фактически он решает его дважды на одной странице, один раз с атрибутами и один раз с промежуточным ПО.

0 голосов
/ 27 сентября 2018

Если вам нужно только запустить в Windows, используйте этот фрагмент из , настройте Kestrel для использования аутентификации Windows

public class Program
{
    public static void Main(string[] args) => 
        BuildWebHost(args).Run();

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseHttpSys(options =>
            {
                options.Authentication.Schemes = AuthenticationSchemes.Basic;
                options.Authentication.AllowAnonymous = false;
            })
            .Build();
}

(где статья имеет

options.Authentication.Schemes = AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate 

Я заменил на options.Authentication.Schemes = AuthenticationSchemes.Basic)

0 голосов
/ 26 сентября 2018

Вы можете попробовать использовать microsoft / iis образ докера и добавить среду ядра dotnet, но похоже, что для этого требуется контейнер Windows.Если вам неудобно создавать собственные изображения, вам, возможно, придется найти пользовательское хранилище или заменить IIS-express другим решением.

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