我想使用集成身份验证从 Web 部件访问 SQL 数据库。它应该使用 IIS 应用程序池标识。
默认情况下,您将收到错误消息:
System.Data.SqlClient.SqlException: Login failed for user 'SERVER\IUSR_VIRTUALMACHINE'.
因为在 web.config 中模拟设置为 true:
<identity impersonate="true" />
我可以将其设置为 false 并且数据库代码将起作用。匿名访问的网站也可以使用。但是,任何使用身份验证的 SharePoint 网站都会失败,因此这并不是真正的解决方案。
为了解决这个问题,我必须封装我的所有数据库访问代码以使用提升的权限运行,这就是 SharePoint 在内部的方式吗?不知何故,这似乎不是最高效的解决方案。这仍然是要走的路吗,只需使用 SQL 安全性从 SharePoint 自定义 Web 部件访问数据库?