在应用程序开发的过程中,有的时候需要在代码中保存一些机密的信息,比如加密密钥,字符串,或者是用户名密码等。通常的做法是保存到一个配置文件中,以前会把他保存到web.config
中,但是在ASP.NET Core中,这一方式或许发生了改变,或者说你有更多多元化的方法, 以及更加优雅的的配置来设置或者保存这些机密资料
用户机密介绍
使用场景
- 需要保存一些和第三方网站对接的密钥,比如和 微信,微博站点使用的 appkey
- 给每个开发人员配置不用的用户名密码来访问一些资源
- 开发人员在开发过程中使用各自本机的数据库,如何配置数据库地址、账号和密码
ASP.NET Core 提供了一种很优雅简洁的方式 User Secrets
用来解决这个事情
新建一个 ASP.NET Core Web 应用程序,Visual Studio中,在Web项目上右键,可以看到一个 管理用户机密
的菜单
secrets.json
secrets.json
文件存储位置
在非Windows系统中,它的存储位置在
~/.microsoft/usersecrets/<userSecretsId>/secrets.json
在Windows系统中,它的位置在
C:\Users\用户名\AppData\Roaming\Microsoft\UserSecrets\aspnet-WebAppCore-e278c40f-15bd-4c19-9662-541514f02f3e
可以看到,存储的上层文件夹就是project.json
文件中的 userSecretsId
设定的值
在应用程序中使用
要在应用程序中访问配置的用户机密,你需要保证project.json
文件中存在依赖项:Microsoft.Extensions.Configuration.UserSecrets
并且builder.AddUserSecrets()