我正在尝试将外部内容引入我们的 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。
任何帮助将不胜感激!!!!