【发布时间】:2018-07-26 18:59:01
【问题描述】:
我最近遇到了一些困难,因为 SQL Server 不喜欢默认的 AppIdentityUser 进行登录,所以我继续创建了一个具有写入权限的自定义 DB 用户。
但这让我想知道 - 这是最好的方法吗?
我想知道对于 Asp.Net Core 最好的 SQL Server 登录方法是什么。我知道对于普通的 .NET 有一个类似的问题,但你不能加密核心 web.config/appsettings.json(嗯,以一种快速和直接的方式)。
以下是我看到的选项:
通过存储在 appsettings.json 中的 SQL Server ID 进行连接。
- 专业版:已配置。
- 缺点:web.config/appsettings.json 中的密码;必须专门配置 SQL Server ID。不可集中撤销。
通过 ASP.NET“AppIdentityUser”通过用户 NT ID 连接。
- 专业版:appsettings.json 中没有密码。
- 缺点:不可集中撤销。似乎仅限于用户的服务器名称。
通过 Active Directory 用户连接。
- 专业版:可轻松撤销。
- 缺点:appsettings.json 中的 Active Directory 用户密码。如果有人不小心在公司的另一个应用程序中重用了该用户,并且该用户遭到破坏,那可能会很糟糕。
我还缺少其他选项吗?在哪些情况下使用这些选项中的哪一个?哪个更标准?有没有我没有考虑到的优点和缺点?
【问题讨论】:
-
我发现这个链接对我很有帮助。希望这对您的情况也有帮助...docs.microsoft.com/en-us/aspnet/identity/overview/features-api/…
-
我们在这里所做的,总是为您的应用程序提供一个单独的用户。这为 dba 提供了更精细的访问权限,因此他们可以为您进行管理。也许将用户分配到一个组等等。关于用户,在 aspnet 核心中,您可以在 app.config.. 中进行配置,而对于生产环境,您可以设置环境变量。这样您就不会将生产密码存储在源代码管理中。更安全。
标签: asp.net asp.net-core asp.net-core-mvc asp.net-core-2.0 asp.net-core-webapi