.net core想到哪写道哪之asp.net core的机密

 jx   2022-06-21 07:24:38   2092 人阅读  0 条评论

我们往往需要在项目里使用一些机密数据,比如数据库的密码,再比如一些密钥。这些东西一般来说我们都会放到配置文件里。


但是这些东西是跟自己的账号相关的,我们在一些多人合作的项目中,尤其是开源项目肯定不能直接把这些内容写到配置文件,因为这会泄露我们的密钥或者密码。


所以机密这种东西应运而生,我们可以通过配置机密信息把我们的密钥,密码之类的东西都放到我们的本机上,只有在部署项目的时候才把真正的密钥写到配置文件中。这样我们就不用担心上传的配置文件泄露我们的机密信息了。


asp.net core的机密用起来很简单,一共就两步。

  1. 我们在asp.net core的项目中打开命令提示符,这里需要注意的是,必须要在asp.net core的项目文件夹下打开,不能是总的sln工程文件夹。然后输入

dotnet user-secrets init

如果这时候提示

Could not find a MSBuild project file in '你的路径'. Specify which project to use with the --project option.

请检查一下是否在项目文件夹下。

如果成功的话,应该会在项目的配置文件中添加了一个类似

<UserSecretsId>79a3edd0-2092-40a2-a04d-dcb46d5ca9ed</UserSecretsId>

这样的内容,这里面的Id是随机的,与例子不一致。

  1. 添加对应的内容,我们可以把对应的key value写进去。

    这里我们以添加一个微软认证的Key为例

dotnet user-secrets set "Authentication:Microsoft:ClientId" "值"

这里的Authentication:Microsoft:ClientId可以替换成任意值,使用冒号作为分隔符,相当于json配置文件里的层级。

这个如果转到配置文件就是

  "Authentication": {
    "Microsoft": {
      "ClientId": "值",
    }
  1. 用法的话其实很简单,就是用Configuration去读取内容,比如我们例子中的内容如果要读取的话就是

Configuration["Authentication:Microsoft:ClientId"]
本文地址:http://www.jvxiang.com/Post?id=29
版权声明:本文为原创文章,版权归 jx 所有,欢迎分享本文,转载请保留出处!
 相关文章  关键词:

 发表评论

{if $option['ZC_COMMENT_VERIFY_ENABLE']}

{/if}


表情

还没有留言,还不快点抢沙发?