在docker中启用Windows Identity Foundation

问题描述 投票:0回答:2

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

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

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

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

没有泊坞窗的类似主题,例如:

  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/

没有帮助。

wif docker-for-windows docker-desktop
2个回答
2
投票

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

我在笔记本电脑上安装了WIFI(Windows 10),然后将文件添加到我的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/

希望能帮助到你!


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)

© www.soinside.com 2019 - 2024. All rights reserved.