3

我正在尝试将外部内容引入我们的 SharePoint 环境。我们正在运行SP 2010。我要引入的数据存在于Sql Server 中。我正在努力做的是将登录的 SharePoint 用户映射到基础 sql 用户。

在 SharePoint 中,我在Secure Store Serivce中创建了一个新的目标应用程序目标应用程序 ID:TestApp目标应用程序类型:组

我指定了两个字段:

名称 :: 类型
用户名 :: 用户名
密码 :: 密码
--这些不是 Windows 用户名和 Windows 密码类型只是基本类型

目标应用程序管理员成员都设置为我自己(AD 用户)。

在 SharePoint Designer 中,我创建了一个新的External Content Type。我添加了一个(类型-> Sql Server)的连接。我已将数据库服务器名称设置为与 SharePoint 不在同一个框上的服务器名称,并且我已设置数据库名称。我选择了Connect with Impersonated Custom Identity选项并将Secure Store Application Id设置为 TestApp。当我单击“确定”时,系统会提示我输入凭据,因此我输入Sql Server 用户凭据并且连接成功。我展开表,右键单击我想要访问的表,然后单击Create All Operations。我通过向导并输入一个限制过滤器。

接下来,我在External Content Types窗口中右键单击 MyTable ,选择External List并为其命名。接下来我进入Central Admin并设置TestApp的凭据。

现在,当我登录 SharePoint 时,我可以在左侧目录中看到我的外部列表。我单击列表,我收到错误访问被业务数据连接拒绝,并带有相关代码。我打开了日志以查看返回的内容,其中包含一些有趣的日志,但我不确定如何解决该问题:

日志:
用户“0#.w|domain\myuser”的访问被拒绝,这可能是“domain\myuser”的假冒。名称为“读取列表”的 Securable MethodInstance 的 ACL 包含

另一个日志:
执行 Web 部件时出错:Microsoft.SharePoint.SPException:访问被业务数据连接拒绝。---> 用户 '0#.w|domain\myuser' 的访问被拒绝,这可能是 'domain\myuser' 的假冒。名称为“读取列表”的安全 MethodInstance 拒绝访问。

我知道如果我使用传递凭据,我们将需要 kerbors 来处理双跳,但我认为我不需要将凭据映射到 sql server 用户的 kerbos。

任何帮助将不胜感激!!!!

4

2 回答 2

5

我在玩 BCS 并遇到了我认为类似的问题。这有助于解决问题。看看这是否有帮助

http://www.zimmergren.net/archive/2010/05/08/access-denied-by-business-data-connectivity-solution.aspx

于 2010-11-23T17:16:03.497 回答
4

发生这种情况是因为您尚未对创建的 BCS 对象设置访问权限。进入管理中心并选择您的外部内容类型或其他对象,然后从下拉列表中选择设置权限。您的身份验证正在运行,否则您将无法将创建的对象保存到元数据存储中。您现在需要告诉元数据存储谁有权访问您在 BCS 中创建的对象。

于 2011-12-21T20:21:36.277 回答