c# - 在 Docker 中使用 asp.net core 2 模拟 Windows 用户

标签 c# docker asp.net-core

我正在创建一个简单的 asp.net core 2.1 网络应用程序,它的目标用户是使用 Windows。我在创建项目时启用了 Windows 身份验证,并且在从 VS 运行应用程序时可以获得我的 Windows 身份。但是从 Linux docker 容器运行时,User.IdentitySystem.Security.Claims.ClaimsIdentity 类型,不包含 Windows 身份信息,不能用于冒充用户。

我检查了this文章,但没有明确说明 Docker 容器是否支持 Windows 身份验证。

更新

接受的答案似乎(未验证)解决了使用 Windows 容器时的问题。但是,它不适用于 Linux 容器。

最佳答案

我几个月前试过这个。由于 Docker 容器未加入域,因此很难使用 Windows 身份验证,因为您需要域 Controller 进行身份验证。

您可以尝试使用群组托管服务帐户 (GMSA) 为您中继身份验证。以下是一些可能对您有所帮助的文章:

https://blogs.msdn.microsoft.com/containerstuff/2017/07/31/getting-iis-win-auth-to-work-in-a-container/

https://artisticcheese.wordpress.com/2017/09/09/enabling-integrated-windows-authentication-in-windows-docker-container/

关于c# - 在 Docker 中使用 asp.net core 2 模拟 Windows 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50962315/

相关文章:

angular - 带有 plesk : Couldn't find a valid certificate with subject 'CN=SigningCertificate' 的身份服务器

c# - 将防伪与 Ajax 或 AngularJs 结合使用

postgresql - 无法连接到端口8080管理员(Postgres + Adminer Docker堆栈)

docker - 如何保存所有 Docker 镜像并复制到另一台机器

docker - 如何删除 Docker Cloud 中无法访问的节点?

c# - Azure 无法访问存储在应用服务配置中的连接字符串

c# - 如何将 Fiddler 与 HttpClient 一起使用?

java - Android 自定义 View ClassNotFound

c# - 视频流中的多个QRCode检测

c# - 如何为 Kentor idprovider 添加自定义元数据?