架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 403|回复: 1

[ASP.NET] ASP.NET Core(二十八)存储开发中的应用机密

[复制链接]
发表于 2024-5-12 17:41:30 | 显示全部楼层 |阅读模式
需求:项目中可以需要和第三方接口进行交互,例如:支付、短信、邮件、公众号等,调用这些接口都需要凭证(常说的:Token、密钥),如果项目比较重要(或者在大型团队中),这些配置项不建议直接写在源代码中的配置文件,因为配置也会被提交到源码仓库中,源码代码中的配置一旦泄露,可能会造成比较严重的后果,可以利用 .NET 推出的应用机密来保证配置的安全,同时,又不影响开发。

机密管理器工具存储应用程序开发期间的敏感数据。 在此上下文中,一段敏感数据是应用机密。 应用机密存储在与项目树不同的位置。 应用机密与特定项目关联,或者跨多个项目共享。 应用机密不会签入到源代码管理中

首先,在配置文件中添加如下:

然后进行读取,如下图:

QQ截图20240512172823.jpg

假设配置中的 Site 属于机密信息,不应该签入到代码仓库中,可以在 VS 右击“管理用户机密”来启用该功能,配置如下:

同时 .csproj 文件会增加 UserSecretsId 一段配置,重新运行项目,发现配置已经是读取的机密信息(用户机密密钥优先于 appsettings.json 和 appsettings.{Environment}.json 中的密钥),如下图:

QQ截图20240512173522.jpg

机密配置文件存储路径:

Windows%APPDATA%\Microsoft\UserSecrets\<user_secrets_id>\secrets.json
Linux~/.microsoft/usersecrets/<user_secrets_id>/secrets.json

以 Windows 为例,如下图:

QQ截图20240512173902.jpg

参考:

https://learn.microsoft.com/zh-cn/aspnet/core/security/app-secrets
https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/configuration





上一篇:ASP.NET Core(二十七)性能优化 PurgeCSS 删除未使用代码
下一篇:ASP.NET Core(二十九)部署在站点子目录(虚拟目录)中
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2024-5-12 17:42:08 | 显示全部楼层
ASP.NET Core(十)Configuration 配置优先级详解
https://www.itsvse.com/thread-10265-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-7-27 18:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表