C#怎么管理用户机密 .NET Secret Manager使用方法

幻夢星雲
发布: 2025-12-13 11:49:55
原创
475人浏览过
.NET Secret Manager 是开发阶段管理敏感配置的轻量安全工具,将密钥存于用户目录(如 ~/.microsoft/usersecrets/),不进代码库、不发布到生产环境;需执行 dotnet user-secrets init 初始化并绑定 UserSecretsId,支持 set/list/remove/clear 等命令及 IConfiguration 无缝读取。

c#怎么管理用户机密 .net secret manager使用方法

在开发阶段,.NET Secret Manager 是管理敏感配置(如 API 密钥、数据库连接字符串)最轻量又安全的方式——它把密钥存在用户目录下,不进代码库,也不影响生产环境。

Secret Manager 是什么

它是 .NET CLI 提供的本地开发工具,专为 Windows/macOS/Linux 用户设计,用于存储应用在开发时用到的机密数据。这些数据保存在操作系统当前用户的专属目录中(比如 ~/.microsoft/usersecrets/),和项目绑定但不随源码提交,也不会被发布到生产环境。

注意:它只适用于 开发阶段。部署时应改用环境变量、Azure Key Vault 或其他生产级方案。

启用 Secret Manager

确保项目是基于 .NET 6+ SDK 风格 的(即 csproj 中有 <targetframework>net6.0</targetframework>)。然后执行以下操作:

  • 在项目根目录打开命令行(确保已 cd 到 .csproj 所在文件夹)
  • 运行:dotnet user-secrets init —— 这会为项目生成一个唯一的 UserSecretsId 并写入 csproj
  • 检查 csproj,确认已自动添加类似:
    <usersecretsid>12345678-90ab-cdef-ghij-klmnopqrstuv</usersecretsid>

存取密钥的常用命令

所有命令都在项目目录下执行:

Napkin AI
Napkin AI

Napkin AI 可以将您的文本转换为图表、流程图、信息图、思维导图视觉效果,以便快速有效地分享您的想法。

Napkin AI 2238
查看详情 Napkin AI
  • dotnet user-secrets set "MyApiKey" "abc123xyz" —— 设置单个键值
  • dotnet user-secrets set "ConnectionStrings:Default" "Server=...;Database=..." —— 支持冒号层级(对应 IConfiguration 的嵌套结构)
  • dotnet user-secrets list —— 查看当前项目所有密钥(明文显示,仅限本机)
  • dotnet user-secrets remove "MyApiKey" —— 删除某个键
  • dotnet user-secrets clear —— 清空本项目所有密钥

设置后无需重启应用,只要项目已引用 Microsoft.Extensions.Configuration.UserSecrets(.NET 6+ 默认包含),并在 Program.cs 中调用了 builder.Configuration.AddUserSecrets<program>()</program>(新模板已默认启用)即可自动加载。

在代码里读取密钥

和读普通配置一样,通过 IConfiguration 获取:

var apiKey = configuration["MyApiKey"];
var connStr = configuration.GetConnectionString("Default"); // 自动匹配 ConnectionStrings:Default
登录后复制

也可以注入 IConfiguration 到服务中使用,完全无感集成。

基本上就这些。不复杂但容易忽略 init 和 csproj 绑定,设完记得 list 确认一下是否生效。

以上就是C#怎么管理用户机密 .NET Secret Manager使用方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号