从ASP.NET Core连接到SQL Server的最佳实践?
|
我最近遇到了一些SQL Server并不喜欢默认的AppIdentityUser登录的问题,所以我继续创建了一个具有写访问权限的自定义数据库用户. 但它让我想知道 – 这是最好的方法吗? 我想知道Asp.Net Core最好的SQL Server登录方法是什么.我知道有一个类似于普通.NET的问题,但是你无法加密Core web.config / appsettings.json(嗯,以一种快速而直接的方式). 以下是我看到的选项: 通过存储在appsettings.json中的SQL Server ID进行连接. > Pro:已经配置好了. 通过ASP.NET“AppIdentityUser”通过用户NT ID连接. > Pro:appsettings.json中没有密码. 通过Active Directory用户连接. >专业:轻松可以撤销. 我还缺少其他选择吗?在哪些情况下使用以下哪些选项?哪个更标准?有没有我不考虑的利弊? 解决方法您应该绝对使用自定义SQL登录来连接到数据库.在底层,SQL登录可以绑定到本地帐户,服务帐户,网络帐户等.实际上并不重要.您似乎在这里遇到的真正问题是不希望(正确地)以纯文本形式公开登录凭据.我不知道为什么你在这里继续引用Web.config,因为ASP.NET Core没有使用它.相反,可以选择使用各种配置提供程序.默认情况下,ASP.NET Core(至少从2.0开始)添加了一个JSON配置提供程序,用于在项目中查找appsettings.json和appsettings.{environment} .json,命令行配置提供程序,用户机密配置提供程序,以及最后是环境变量配置提供程序. 最后两个对你的情况最有意思.在开发中,您应该使用用户机密.在生产中,您应该使用环境变量.但是,两者都不以加密的方式存储秘密.这两种方法的好处是秘密不在您的项目中,因此也不在您的源代码管理中.尽管两者都没有加密,但它并不像你想象的那么大.在任何一个中获取秘密都需要直接访问服务器/开发机器.此外,用户机密默认绑定到特定用户帐户,只能由该用户访问,并且环境变量可以以相同的方式设置.因此,有人需要获得对计算机的访问权并获得对特定帐户的访问权限.这实际上是一个相当高的标准,如果它发生,那么暴露数据库密码实际上是你最不关心的问题. 但是,如果您需要真正的加密,则可以选择使用Azure KeyVault.无论您的应用程序是否实际托管在Azure中,都可以使用KeyVault,虽然它不是免费的,但它非常便宜. 最后,您始终可以创建自己的配置提供程序或源第三方配置提供程序.例如,虽然默认的JSON提供程序不支持加密,但您可能会写一个. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – html页面的ASP服务器统计信息
- asp.net-mvc – 高级ASP路由教程和示例
- asp.net-mvc-3 – 如何使用剃刀包括.html或.asp文件?
- asp.net-mvc-3 – 可以用“@:@”修复的MVC4剃刀的可能的突
- ASP.NET表单认证在iPad上显示登录页面
- asp.net-membership – MiniProfiler和SqlMembershipProvid
- asp.net – IIS 6如何从http://example.com/*重定向到http:
- 将TagHelpers嵌套在ASP.NET Core MVC 6中
- asp.net-mvc – 如何在MVC 4 API中打印JSON脚本
- asp.net-mvc – 何时使用RedirectToAction和哪里使用Redire
- asp.net-mvc – 如果Hangfire已经运行,请停止启动
- asp.net – 使用ASPNet_Regiis加密自定义配置部分
- asp.net-mvc – 在.NET MVC 3中使用REST Web服务
- Asp.Net Web Api – 发布英国日期格式
- asp.net – RegisterOnSubmitStatement在客户端验
- asp.net – MvcTextTemplateHost未找到
- .net – 设置页面标题不起作用
- asp.net-mvc – 用于Javascript文件的MVC Route
- asp.net-mvc – .net MVC控制器动作方法的属性
- asp.net-mvc – MVC3 Html.HiddenFor(Model = Mo
