【问题标题】:Enable Windows Identity Foundation in docker在 docker 中启用 Windows Identity Foundation
【发布时间】:2019-03-16 00:15:34
【问题描述】:

在我们当前的项目中,我们使用 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/

没有帮助。

【问题讨论】:

  • 是否可以选择使用 OWIN WS-Fed NuGet 包?
  • 我们现在还没有评估 OWIN WS-Fed 包。也许这是个好主意,谢谢!

标签: wif docker-for-windows docker-desktop docker


【解决方案1】:

我知道这是一个老问题,但我最近遇到了同样的问题并想分享我能够提出的解决方案。就我而言,我使用的是引用“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/

希望对你有帮助!

【讨论】:

    【解决方案2】:

    我们可以用 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)

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 2014-07-18
      • 2012-11-16
      相关资源
      最近更新 更多