在我们当前的项目中,我们使用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和/或在此图像中安装该功能吗?
他们是启用该功能的替代图像吗?
没有泊坞窗的类似主题,例如:
没有帮助。
我知道这是一个老问题,但我最近遇到了同样的问题,并希望分享我能够提出的决议。在我的情况下,我正在使用引用“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/
希望能帮助到你!
我们可以用OWIN解决我们的问题。
Bas Lijten发布了一个很好的教程:http://blog.baslijten.com/configure-claims-based-web-applications-using-owin-wsfederation-middleware/
我们使用Owin配置了WS-Fed的使用,但没有使用嵌入式STS。相反,我们创建了一个独立的标识服务器实例来测试ADFS集成。在GitHub上,您可以找到此类身份服务器配置的示例: