我正在尝试将应用程序用户的凭据从 Blazor 应用程序传递到 Data Api,然后将这些凭据用于 SQL Server 连接(Trusted_Connection=true)——这甚至可能吗?
我试过使用
WindowsIdentity.RunImpersonatedAsync(((WindowsIdentity)user.Identity).AccessToken.... )
但是一旦我将它部署到服务器,这就会显示 IIS 应用程序池用户。
我希望在没有身份提供者的情况下执行此操作,因为它全部部署在防火墙后面的内部部署中,并且只能在具有登录用户的 Windows 机器上运行。在这种情况下,身份提供者似乎有点矫枉过正......除非没有其他办法。
任何帮助将不胜感激!
谢谢
通过我的研究,我发现这是不可能的,因为你想让你的 IIS 网站以最低权限的帐户运行 - 这样它就无法访问它不应该访问的服务器或网络。这就是为什么建议使用应用程序池身份运行它的原因。
在我的例子中,我会将当前用户的 Windows 凭据身份(即 Active Directory ID)传递给 Data Api,在那里它可以将其传递给数据库,以记录所有更新和新记录等表的审计字段
我希望这可以帮助其他人尝试实现同样的目标。