0

在我们当前的项目中,我们使用 windows 服务器核心映像 ( https://hub.docker.com/r/microsoft/windowsservercore/ ) 开发了一个托管在 docker ( Docker Desktop for Windows ) 容器中的 ASP.net MVC 应用程序。一切都运行良好,但现在我们想使用 Windows 识别基础 (WIF) 进行 ADFS 身份验证。

不幸的是,Docker 的 Windows Server Core 映像不支持 WIF 功能,因此无法安装。

有人知道如何在 docker 容器中使用 WIF 和/或在此映像中安装该功能的经验吗?

他们是启用了该功能的替代图像吗?

没有 docker 的类似主题,例如:

  1. https://support.microsoft.com/en-us/help/3044149/you-can-t-install-windows-identity-foundation-in-windows-core
  2. https://blogs.technet.microsoft.com/server_core/2012/05/09/configuring-the-minimal-server-interface/

没有帮助。

4

2 回答 2

2

我知道这是一个老问题,但我最近遇到了同样的问题,并想分享我能够提出的解决方案。就我而言,我正在使用一个引用“Microsoft.IdentityModel.dll”(由 WIF 安装)的旧版软件解决方案,并且将其切换到其他东西并不容易。

我在笔记本电脑(Windows 10)上安装了 WIF,然后将文件添加到我的 docker 映像中

C:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5\Microsoft.IdentityModel.dll

然后,将 PowerShell 脚本添加到您的 DOCKERFILE 以将该程序集手动安装到 GAC 中。这是一篇很好的博客文章,展示了如何做到这一点:

https://www.andrewcbancroft.com/2015/12/16/using-powershell-to-install-a-dll-into-the-gac/

希望能帮助到你!

于 2018-03-11T21:10:18.127 回答
0

我们可以用 OWIN 解决我们的问题。

Bas Lijten 发布了一个很好的教程: http ://blog.baslijten.com/configure-claims-based-web-applications-using-owin-wsfederation-middleware/

我们使用 Owin 配置了 WS-Fed 的使用,但没有使用嵌入式 STS。相反,我们创建了一个独立的身份服务器实例来测试 ADFS 集成。在 GitHub 上,您可以找到此类身份服务器配置的示例:

https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/SelfHost%20(InMem%20with%20WS-Fed)

于 2017-08-23T18:50:55.130 回答