Sign in with Microsoft
New to Microsoft? Create an account.

症状

当您在运行 Microsoft 客户服务框架 (CCF) 的环境中使用代理桌面应用程序或 Microsoft 管理控制台 (MMC) 时,有 Microsoft.NET Framework 3.5 Service Pack 1 (SP1) 安装的 Windows 客户端接收以下事件查看器应用程序日志中的错误消息:错误消息 1

ListenerConfiguration 在试图访问配置 web 服务时遇到问题。HTTP 请求是未经授权的客户端身份验证方案协商。从服务器收到的身份验证标头是协商。

错误消息 2

ListenerConfiguration 在试图访问配置 web 服务时遇到问题。HTTP 请求是未经授权的客户端身份验证方案协商,NTLM。从服务器收到的身份验证标头是协商。

此外,如果您使用代理桌面时,应用程序无法启动。如果代理桌面配置文件和 CCFInfrastructure 数据库中所使用的端点 Url 指向实际服务器的 NetBIOS 名称承载 CCF Web 服务,将出现此问题。如果您使用 MMC 中与实际的 NetBIOS 名称 CCF Web 服务器或连接到框中显示完全合格的域名称 (FQDN),该连接不成功。此外,您会看到类似于下面的系统事件日志中的错误消息:注意CCF Web 服务器是运行 Internet Information Services (IIS) 服务器。

原因

出现此问题是由于相关链接在.NET Framework 3.5 Service Pack 1.详细信息窗口通信框架 (WCF) 的安全性和身份验证更改,请参见.NET 3.5 服务包 1 自述文件 2.3.2 节。若要查看此文件,请访问下面的 Microsoft 网站:

http://download.microsoft.com/download/A/2/8/A2807F78-C861-4B66-9B31-9205C3F22252/dotNet35SP1Readme.htm

解决方案

若要解决此问题,请执行以下步骤:

  1. 设置命名的 CCF IIS 服务器在 DNS CNAME 别名。若要执行此操作,请执行以下步骤。备注

    • 该名称在代理桌面,在 MMC 中,端点 Url 中使用,在 Web 服务配置文件。

    • 您必须是域管理员和 DNS 管理员才能执行这些步骤。

    1. 在域控制器计算机上运行 DNS,单击开始,指向所有程序,单击管理工具,然后单击DNS

    2. 展开域控制器节点。

    3. 展开正向搜索区域节点。

    4. 单击 CCF FQDN。

    5. 右键单击右窗格中。

    6. 单击新建别名 (CNAME)

    7. 新建资源记录对话框中,键入别名的名称。例如,键入 CCF IIS 服务器的 FQDN CCF IIS 计算机别名的名称。

    8. 添加所需的主机,然后单击完成

  2. 在客户端计算机上,将 HTTP URL 和 FQDN 的 CCF IIS 别名的别名 CCF IIS 计算机添加到本地 Intranet 网站列表。

  3. 更改端点 Url"CCF IIS 中实际的服务器名称或 FQDN"CCF IIS 别名名称或 FQDN 的 CCF IIS 别名中的所有服务器名称。在下面的文件或 Url,必须执行此操作:

    • 在客户端上的 Agentdesktop.exe.config 文件。

    • MMC 的 Mmc.exe.config 文件。

    • 所有 CCF Web 都服务上的 CCF IIS 服务器的 Web.config 文件。

    • 在 Microsoft SQL Server CCFInfrastructure 数据库中的所有端点 Url。

  4. 在命令提示符下运行SetSpn命令来注册服务主体名称 (SPN) 的主机/CCFAlias 信息和帐户在 IIS 中运行 CCF Web 服务应用程序池的 host/CCFAlias.fabrikam.com 信息。例如,使用SetSpn命令来注册"ASPUSER"SPN。注意:您必须以域管理员身份才能执行此步骤登录。若要下载的 Setspn.exe 支持工具,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    对于 Windows Server 2003 的970536 Setspn.exe 支持工具更新下面两个示例演示如何运行SetSpn命令:

    setspn –S host/CCFIISAlias MyDomain\MyCCFAppPoolServiceAccount
    setspn –S host/CCFIISAlias.mydomain.com MyDomain\MyCCFAppPoolServiceAccount
  5. 执行下列操作之一来清除客户端上的票证:

    • 重新启动客户端计算机。

    • 等待过期的客户端计算机上的 Kerberos 票证。

    • 使用 Windows 资源工具包中的 Kerbtray.exe 文件。

  6. 测试代理桌面和 MMC。注意:在 MMC 中,确保您在连接到框中键入 CCF IIS 别名,而不是 CCF IIS 服务器的名称。

注意:在 IIS 7.0 中运行的 web 应用程序使用一种称为内核模式身份验证以进行 Windows 身份验证的新功能。此功能允许为简化 SPN 配置和性能增强的身份验证。默认情况下,IIS 7.0 将启用该功能。IIS 7.0 不使用应用程序池的身份进行 Windows 身份验证期间解密的 Kerberos 票证。如果您正在使用 CCF 2009 与 IIS 7.0 或 Windows Server 2008,您必须正在运行 IIS 配置文件应用程序池的凭据将用于授权服务器中设置标志。若要设置此标志,请按照下列步骤操作:

  1. 在 IIS 7.0 服务器上,以管理员用户身份打开命令提示符。

  2. 运行以下命令:

    Notepad.exe C:\Windows\System32\inetsrv\config\applicationHost.config
  3. 在 XML 配置中,将更改所有 CCF 服务承载在应用程序池和 DOMAIN\CCFAppPoolSERVICEAccount 用户帐户下运行的身份验证配置。下面是所需的配置更改的一个示例:

       <location path="Default Web Site/Microsoft.Ccf.Csr.WebServices.AgentCredentials">        <system.webServer>            <directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension" />          <handlers accessPolicy="Read, Execute, Script" />           <security>                <authentication>                    <windowsAuthentication enabled="true" useKernelMode=”true” useAppPoolCredentials=”true”>                        <providers>                            <clear />                            <add value="Negotiate" />                        </providers>                    </windowsAuthentication>                    <anonymousAuthentication enabled="true" />                    <digestAuthentication enabled="false" />                    <basicAuthentication enabled="false" />                </authentication>            </security>            <defaultDocument enabled="true">                <files>                    <clear />                    <add value="Default.htm" />                    <add value="Default.asp" />                    <add value="index.htm" />                    <add value="index.html" />                    <add value="iisstart.htm" />                    <add value="default.aspx" />                </files>            </defaultDocument>        </system.webServer>    </location>
  4. 这篇文章中所述更改 CCF Web 服务的所有配置。通过使用适当的路径属性替换 path 属性为每个位置元素。在 CCF 2009 年 CCF Web 服务如下所示:

    • Microsoft.Ccf.Csr.WebServices.AgentCredentials

    • Microsoft.Ccf.Csr.WebServices.AdminConsole

    • Microsoft.Ccf.Csr.WebServices.ContactCenterAIF

    • Microsoft.Ccf.Csr.WebServices.ContactCenter

    • Microsoft.Ccf.Csr.WebServices.Customer

    • Microsoft.Ccf.WebServices.Gateway

    • Microsoft.Ccf.Samples.DemoWebApplication

    • Microsoft.Ccf.Samples.MultichannelServer

    • Microsoft.Ccf.Samples.MultichannelSite

    • Microsoft.Ccf.Csr.WebServices.ContactCenter.AgentLoginManager

    • Microsoft.Ccf.ConfigurationSystem.Server.ConfigurationService

    • Microsoft.Ccf.ConfigManagementDataService

更多信息

重现问题的步骤

  1. 请确保客户端计算机已安装了以下程序:

    • Windows XP 服务包 3 (SP3)

    • .NET Framework 3.5 SP1

    • CCF 2009 代理桌面或 MMC

  2. 请确保将这一台计算机正在运行 Windows Server 2003 SP2 的 CCF Web 服务器或 Windows Server 2008。请确保该计算机已安装了 SQL server 2005。

  3. 请确保这一台计算机正在运行 Windows Server 2003 SP2 或 Windows Server 2008 的域控制器。

  4. 确保所有计算机都配置为 Kerberos 身份验证或 Windows 身份验证。

  5. 在具有以下配置的客户端计算机上启动代理桌面:

    • .NET Framework 3.5 SP1 安装。

    • 安装了 CCF 2009 代理桌面。

    • 在代理桌面配置文件 (agentdesktop.exe.config) 的端点 Url 指向实际的 NetBIOS 名称或 CCF IIS 服务器的 FQDN。

参考

SetSPN命令的更多信息,请访问下面的 Microsoft 网站:

http://technet.microsoft.com/en-us/library/cc773257.aspx有关 Windows 2003 SP1 支持工具的详细信息,请访问下面的 Microsoft 网站:

http://support.microsoft.com/kb/892777有关 Windows 2003 资源工具包中的 Kerbtray.exe 文件的详细信息,请访问下面的 Microsoft 网站:

http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈!

×