在Docker镜像启动之间坚持ASP.NET Coreauthentication
每次包含.NET Core MVC Web应用程序的Docker映像启动时,所有authenticationCookie都将失效,这可能是由于生成了新的机器密钥(在签名Cookie时使用)。
这通常可以通过.NET应用程序的web.config
中的<machineKey/>
元素来设置。
这个链接表明DataProtection
包将符合这个法案,但是这个包似乎需要全面的框架。
什么是正确的方法来确保每次重新启动Docker镜像都不会使现有的auth cookie失效?
您希望将用于数据保护的密钥放入持久且可共享的位置。
如果您使用的是AWS, AspNetCore.DataProtection.Aws允许通过几行configuration代码将密钥环放在S3上。 另外,您可以利用AWS KMS对密钥进行encryption,这对实现一致的encryptionalgorithm特别有用,允许在具有不同默认encryptionalgorithm的不同操作系统上重复使用相同的密钥。 KMS选项也是同一个库的一部分。
如果您位于AWS以外的其他平台上,则需要另一个库或安装共享驱动器。 但是共享键的相同位置的概念保持不变。
- Docker的图像大小,我应该预计'dnu还原'占用多less空间?
- Docker组成VSTS任务失败者
- Microsoft.DotNet.Docker.CommandLineClientException:客户端版本1.22太旧
- 如何将Visual Studio ASP.NET 5项目发布到Docker Hub?
- 是否有可能从Docker容器中运行我的开发asp.net核心服务器
- 如何读取环境variables在ASP.NET核心2.0 + Docker中?
- 无法从Docker容器打开URL
- ASP.NET Core + Docker +公开wwwroot
- 我应该使用docker的用户机密或环境variables