Blazor 服务器应用程序、.Net Core Data Api、SQL Server 和 Windows 身份验证模拟/传递凭据问题

问题描述 投票:0回答:1

我正在尝试将应用程序用户的凭据从 Blazor 应用程序传递到 Data Api,然后将这些凭据用于 SQL Server 连接(Trusted_Connection=true)——这甚至可能吗?

我试过使用

WindowsIdentity.RunImpersonatedAsync(((WindowsIdentity)user.Identity).AccessToken.... )

但是一旦我将它部署到服务器,这就会显示 IIS 应用程序池用户。

我希望在没有身份提供者的情况下执行此操作,因为它全部部署在防火墙后面的内部部署中,并且只能在具有登录用户的 Windows 机器上运行。在这种情况下,身份提供者似乎有点矫枉过正......除非没有其他办法。

任何帮助将不胜感激!

谢谢

c# sql-server windows blazor credentials
1个回答
0
投票

通过我的研究,我发现这是不可能的,因为你想让你的 IIS 网站以最低权限的帐户运行 - 这样它就无法访问它不应该访问的服务器或网络。这就是为什么建议使用应用程序池身份运行它的原因。

在我的例子中,我会将当前用户的 Windows 凭据身份(即 Active Directory ID)传递给 Data Api,在那里它可以将其传递给数据库,以记录所有更新和新记录等表的审计字段

参考:https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/www-authentication-authorization/understanding-identities

我希望这可以帮助其他人尝试实现同样的目标。

© www.soinside.com 2019 - 2024. All rights reserved.