首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dotnet core 2.1和IIS的Docker镜像

dotnet core 2.1和IIS的Docker镜像
EN

Stack Overflow用户
提问于 2018-09-26 21:20:47
回答 3查看 801关注 0票数 0

我对接了一个.Net核心应用程序,我的应用程序使用IIS-express进行基本身份验证。问题是,每当我在容器中运行我的应用程序时,我都得不到数据,因为基本身份验证在容器中不起作用,因为Docker镜像没有IIS-express。

目前,我使用的是这个图像:

microsoft/dotnet:2.1.301-sdk

有没有同时包含.dotnet核心和IIS-express的Docker镜像?还有其他想法吗!!

EN

回答 3

Stack Overflow用户

发布于 2018-09-27 04:55:04

您可以尝试使用microsoft/iis docker镜像并添加dotnet核心环境,但它看起来需要一个Windows Container。如果您不习惯构建自定义映像,那么您可能必须找到一个自定义存储库,或者用另一个解决方案替换IIS-express。

票数 0
EN

Stack Overflow用户

发布于 2018-09-27 05:32:18

如果不依赖iis,而是使用代码进行基本身份验证,可能会比您预期的更简单、更快。编写Authorize属性是非常简单的。

这里有一个例子:https://www.johanbostrom.se/blog/adding-basic-auth-to-your-mvc-application-in-dotnet-core。实际上,他在一个页面上解决了两次问题,一次使用属性,一次使用中间件。

票数 0
EN

Stack Overflow用户

发布于 2018-09-27 19:27:57

如果您只需要在Windows上运行,那么可以使用configure Kestrel to use Windows auth中的以下代码片段

代码语言:javascript
复制
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();
}

(这篇文章有

代码语言:javascript
复制
options.Authentication.Schemes = AuthenticationSchemes.NTLM | AuthenticationSchemes.Negotiate 

我已经用options.Authentication.Schemes = AuthenticationSchemes.Basic替换了)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52518789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档