当前位置: 首页 > 知识库问答 >
问题:

.NET核心是否支持每个环境的用户机密?

张砚
2023-03-14

在开发和分段之间切换所需做的只是导航到项目属性中的Visual Studio Debug选项卡,并更改aspnetcore_environment环境变量的值。

现在,出于安全考虑,我当然不希望在appsettings.*.json中有连接字符串。所以我把它移到用户机密。

问题是-似乎只有一个secrets.json文件可供所有环境使用。没有secrets.development.jsonsecrets.staging.json。这意味着,在我通过Visual Studio Debug选项卡从开发环境切换到临时环境之后,我还需要在secrets.json中手动更改连接字符串,这就违背了为环境提供内置支持的目的。

共有1个答案

施飞雨
2023-03-14

如果您使用dotnet user-secrets--help检查工具的参数,您将看到您可以为每个配置(调试、释放、任何需要的)指定不同的机密,但不能为每个环境指定不同的机密。如果你仔细想想,这也是个不错的决定。

aspnetcore_environment环境变量用于告诉应用程序当前的计算机或容器是开发环境、生产环境还是其他环境,因此它可以选择适当的设置文件。这个环境变量不需要在一个应用程序执行到下一个应用程序执行时更改。即使在使用容器时,环境变量也是从宿主传递到容器的,并且在容器的生存期内不需要更改。

出于开发目的,secret文件应该是每台机器的,因此不需要为每个环境保留单独的文件。使用单独的文件进行配置更有意义,允许开发人员简单地从开发改为发布或测试或他们可能拥有的任何其他自定义配置

 类似资料:
  • 我正在考虑使用Ignite和。NET客户机进行一个项目。 我很好奇客户机是否支持。NET核心,因此可以在。NET核心应用程序中使用。 如果没有,未来是否计划了。NET核心支持?

  • phpGrace 对 php 环境要求如下 : apache/nginx + php 5.3 + ( 使用命名空间 ) apache/nginx + php 7.0 + 是的我们“嫌弃”且不支持 IIS + PHP ! ^_^ php 扩展要求 1、pdo 2、mbstring 3、gd 4、curl 5、其他扩展见对应工具类的使用说明 伪静态支持说明 phpGrace 需要 web 服务器的伪静

  • 我正在尝试禁用在Docker(Debian OS)和.NET 5上运行的API的TLS 1.0和TLS 1.1支持。我发现这段代码与此特定问题相关: 下面是Powershell脚本: 这是红隼配置的错误吗?我可以做其他事情来禁用TLS1.0和TLS1.1加密吗? 编辑这是我试图解决的原始问题: 远程服务接受使用TLS 1.0加密的连接。TLS 1.0有许多加密设计缺陷。较新版本的TLS是针对这些缺

  • .NET核心和ASP.NET核心到底有什么区别?

  • 我读过关于.NET标准和.NET核心之间的区别,但我真的不知道区别是什么,也不知道什么时候选择.NET标准库项目,什么时候选择.NET核心库项目。

  • 示例配置 user www www; worker_processes 2; error_log /var/log/nginx-error.log info; events { use kqueue; worker_connections 2048; } ... 指令 语法: accept_mutex on | off; 默认值: accept_mutex on; 上下文