【问题标题】:Kerberos, Claims Based authentication and Sharepoint : Cannot connect to databaseKerberos、基于声明的身份验证和 Sharepoint:无法连接到数据库
【发布时间】:2011-11-06 20:50:43
【问题描述】:

我有一台托管 Sharepoint 2010 的服务器。我还有另一台托管 SQL Server 2008 R2 的服务器。 SharePoint 基于 Kerberos/声明。

在我的 SharePoint 上,我安装了一个自定义 Web 部件,它使用标准连接字符串 (Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;) 连接到 SQL Server 机器。

问题是当 webpart 尝试连接到 sql server 时,我收到以下消息:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'

我们做了什么:

  • 验证所有 spn/delegation/trusts 事项 - 一切正常。
  • 尝试通过 UDL 文件直接从 sharepoint 机器连接到 sql server,并且成功了。
  • 在单机服务器上尝试将 webpart 作为独立的 ASPX 页面,以证明代码应该可以正常工作。
  • Wireshark -> 当 ANONYMUS LOGON 尝试连接到 sql server(很明显)时,我们可以看到 KDC_ERR_S_PRINCIPAL_UNKNOWN。
  • SharePoint Developer Dashboard 向我们显示了我们当前的用户名,它不是 ANONYMUS。
  • webpart 中的跟踪显示了两件事:HTTPCONTEXT 设置为我当前的用户,Thread.Current 也是如此。
  • 使用 SQL Profiler,我们可以看到请求来自 ANONYMUS
  • 我们尝试从另一个自定义 Web 部件访问另一个服务器上的 Web 服务,但由于同样的原因(匿名)失败。

我们缺少什么?问题似乎确实是 SharePoint 无法将当前用户凭据发送到另一台服务器(sql 与否)。

【问题讨论】:

    标签: sharepoint sharepoint-2010 kerberos claims-based-identity


    【解决方案1】:

    您是否确认 Kerberos 工作正常?

    下载 Kerberos 委派疑难解答

    http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=99B0F94F-E28A-4726-BFFE-2F64AE2F59A2&displaylang=en

    【讨论】:

    • 是的,我们也经历过。一切都设置正确。我们最近从非官方消息来源了解到,该案例可能在 SPN 中很重要,因此我们现在正在检查所有这些案例...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多