Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用模拟以编程方式访问sharepoint列表_Sharepoint_Impersonation - Fatal编程技术网

使用模拟以编程方式访问sharepoint列表

使用模拟以编程方式访问sharepoint列表,sharepoint,impersonation,Sharepoint,Impersonation,我正在构建一个在普通用户帐户下运行的控制台应用程序,以编程方式访问sharepoint列表。为了访问Sharepoint对象,控制台应用程序将模拟运行Sharepoint的上下文下的用户。模拟成功,但当我尝试访问任何共享点SPWeb对象时,出现如下错误 spWeb.ID='spWeb.ID'引发了类型为'System.Data.SqlClient.SqlException'的异常 base{System.Data.Common.DbException}={“无法打开登录请求的数据库\“WSS\U

我正在构建一个在普通用户帐户下运行的控制台应用程序,以编程方式访问sharepoint列表。为了访问Sharepoint对象,控制台应用程序将模拟运行Sharepoint的上下文下的用户。模拟成功,但当我尝试访问任何共享点SPWeb对象时,出现如下错误 spWeb.ID='spWeb.ID'引发了类型为'System.Data.SqlClient.SqlException'的异常 base{System.Data.Common.DbException}={“无法打开登录请求的数据库\“WSS\U Content\U 92\”。登录失败。\r\n用户“DOM\user”的登录失败。“}

imepersonation是否应该允许访问基础数据库,并且我是否需要显式地授予当前用户访问权限以授予对sharepoint列表等的访问权限


在控制台或windows应用程序中访问对象模型时,请提前感谢

,当您模拟用户时,数据库连接将在用户帐户凭据下进行,因此实际上,您必须授予每个用户相当高的访问数据库权限(或者最好让他们成为具有这些权限的组的成员)

这与使用IIS站点的AppDomain帐户的web应用不同

但是-这是一个非常非标准的设置,并且充满安全风险-您真的想授予用户直接访问该数据库的权限吗


相反,我可以建议您再看看您的设计—您想实现什么?

在应用程序池使用的同一用户的上下文中运行console应用程序。因此,解决方案是使用runas命令。

即使ap应用程序池是在另一个帐户的上下文下运行的。是的,它会运行。给你在db access下运行控制台应用的帐户也是如此。现在还不清楚你想在这里实现什么?将数据从Sharepoint迁移到另一个db,现在有意义吗?为什么你需要使用用户凭据访问Sharepoints