如何解决如何使用协商身份验证方法从 ASP.NET Core Web 应用程序连接到 SQL Server?
我有以下应用程序结构:
[Windows with Chrome browser] -> [ASP.NET Core app on Windows or Linux] -> [SQL Server on Windows]
所有三台机器都包含在一个域中,其想法是从 ASP.NET 应用程序连接到启用了可信连接参数的 SQL Server。应使用登录到域的 Chrome 浏览器用户的凭据建立与 SQL Server 的连接。
我该如何实现?我的想法是使用 ASP.NET Core 的协商身份验证:
services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
.AddNegotiate();
然后使用RunImpersonated方法建立连接:
var callerIdentity = User.Identity as WindowsIdentity;
WindowsIdentity.RunImpersonated(callerIdentity.AccessToken,() =>
{
var conn = new SqlConnection("...;Trusted Connection=True;...");
conn.Connect();
});
这是一个有效的做法吗?使用用户凭据连接到 SQL Server 是否有更好的选择?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。