内容:

受信任的身份验证疑难解答

  • 版本 :2022.1 及更高版本

本部分包括您在配置受信任的身份验证时可能会遇到的一些常见问题和错误。

本部分包括您在配置受信任的身份验证时可能会遇到的一些常见问题和错误。

受信任的身份验证错误的常见来源是代理服务器或负载平衡器配置错误。如果您的 Tableau Server 在反向代理服务器或负载平衡器后面运行,请参见将 Tableau Server 配置为使用反向代理服务器添加负载平衡器

受信任的身份验证信息写入 ProgramData\Tableau\Tableau Server\data\tabsvc\logs\vizqlserver\vizql-*.log

若要将日志记录级别从 info 提高到 debug,请运行以下命令:

tsm configuration set -k vizqlserver.trustedticket.log_level -v debug
tsm pending-changes apply

若要测试受信任的身份验证部署,请参见测试受信任的身份验证

另请参见

有关特定错误的更多故障排除信息,请参见以下可从本部分中的其他文章中访问的主题:

通过 Web 服务器请求票证

  • 从 Tableau Server 返回了票证值 -1

  • HTTP 401 – 未授权

  • HTTP 404 – 未找到文件

  • 无效用户(SharePoint 或 C#)

兑换票证的查看者

  • 尝试从错误的 IP 地址兑换票证

  • Cookie 限制错误

在多个嵌入式视图之间导航

  • 与服务器通信时出错 (403)

此部分中的其他文章

Tableau Server 在不能将票证作为受信任的身份验证过程的一部分发出时会返回票证值“-1”。在对此方案进行故障排查之前,请确保按受信任的身份验证疑难解答中指定的方式将受信任的身份验证的日志级别设置为 debug

此消息的确切原因将写入到以下文件夹内的 vizqlserver_node*-*.log.* 文件中:

ProgramData\Tableau\Tableau Server\data\tabsvc\logs\vizqlserver

以下是需确认的一些内容:

  • 所有 Web 服务器主机名称或 IP 地址都已添加到受信任主机

    日志错误“Invalid request host:”可能指明发送 POST 请求的计算机的 IP 地址或主机名不在 Tableau Server 上受信任的主机列表中。若要了解如何向此列表添加 IP 地址或主机名称,请参见向 Tableau Server 添加受信任的 IP 地址或主机名称

  • IP 地址是 IPv4

    如果使用 IP 地址指定受信任主机,它们必须采用 Internet 协议版本 4 (IPv4) 格式。IPv4 地址如下所示:123.456.7.890。不支持使用 IPv6 地址(例如 fe12::3c4a:5eab:6789:01c%34)输入受信任主机。

  • POST 请求中的用户名是有效的 Tableau Server 用户

    在 POST 请求中发送的用户名必须是 Tableau Server 许可用户。您可以通过以管理员身份登录到 Tableau Server 来查看用户列表。

    以下日志错误指明用户 POST 问题:

    POST 请求中的用户名包含域

    如果将 Tableau Server 配置为使用本地身份验证,则在 POST 中发送的用户名可以是简单字符串。但是,如果将服务器配置为使用 Active Directory,则必须在用户名中包含域名(域\用户名)。例如,username 参数可能是:username=dev\jsmith。此方案的一个常见错误日志是“Invalid user:”。

    • Missing username and/or client_ip

    • Invalid user:

    • Unlicensed user is not allowed:

  • 内容类型已指定

    如果您要设计一个 ASP.NET 或 C# 应用程序,则需要在您的 HTTP 请求中声明内容类型。例如:

    http.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8")

    如果您没有指定内容类型且 Tableau Server 返回 -1,则日志文件包含错误:“missing username and/or client_ip”。


如果您收到“401- 未授权”错误,可能是由于以下原因之一导致的:

  • 您可能已将 Tableau Server 配置为将 Active Directory 与 SSPI 结合使用。如果您的 Web 服务器使用 SSPI,则无需设置受信任身体验证。您可以嵌入视图,这样,只要您的用户是 Tableau. Server 许可用户并且是您的 Active Directory 的成员,他们就可以访问这些视图。有关详细信息,请参见tsm authentication sspi

    注意:只能在 Windows 版 Tableau Server 上配置 SSPI。

  • 或者在部署 Tableau Server 2022.1 后看到 302- Redirect 错误,则您编写用以构造客户端 URL 的受信任票证代码可能未针对两部分票证 URL 格式的帐户进行更新。有关详细信息,请参见从 Tableau Server 获取票证

如果您的程序代码引用不存在的 Tableau Server URL,就可能会收到此错误。例如,您的 Web 服务器可能会构造一个网页尝试检索时找不到的无效 URL。

此错误的另一个原因是,您未输入向 Tableau Server 添加受信任的 IP 地址或主机名称中指定的受信任 Web 服务器。如果已输入受信任的 Web 服务器,请验证 IP 地址或主机名是否正确。


如果您将 Tableau Server 配置为使用受信任的身份验证,则可能会遇到此错误。

SharePoint .dll 的示例代码引用以下 GET 请求:

SPContext.Current.Web.CurrentUser.Name

上面的请求将返回当前 Windows Active Directory 用户的显示名称。如果要使用登录 ID,则需要将代码更改为:

SPContext.Current.Web.CurrentUser.LoginName

进行更改后,请重新编译 SharePoint .dll。


为受信任的身份验证配置 Tableau Server 后,您可能会遇到兑换票证的问题。

当 Tableau Server 配置为强制执行客户端 IP 地址匹配时,可能会出现此问题。因为在兑换票证时默认不考虑客户端网络浏览器 IP 地址,请确保在 POST 请求中发送给 Tableau Server 的客户端 Web 浏览器 IP 地址与浏览器尝试检索嵌入式视图时的 IP 地址相同。

例如,在受信任的身份验证图中,如果步骤 3 中的 POST 请求发送参数 client_ip=74.125.19.147,则步骤 5 中的 GET 请求必须来自同一 IP 地址。

有关详细信息,请参见可选:配置客户端 IP 匹配,了解如何将 Tableau Server 配置为强制客户端 IP 地址匹配。


用户登录到 Tableau Server 时,会话 Cookie 会存储到他们的本地浏览器中。Tableau Server 利用存储的 Cookie 来保留通过身份验证且可访问服务器的已登录用户。由于 Cookie 设置的域或子域与浏览器地址栏中的域或子域相同,因此该 Cookie 被认定为第一方 Cookie。如果用户浏览器配置为阻止第一方 Cookie,则它们将无法登录到 Tableau Server。

如果用户通过嵌入式视图或在配置了受信任的身份验证的环境中登录到 Tableau Server,则会发生同样的情况:系统会存储此 Cookie。但在这种情况下,浏览器会将此 Cookie 当做第三方 Cookie 来处理。这是由于 Cookie 设置的域与浏览器地址栏中显示的域不同。如果用户 Web 浏览器设置为阻止第三方 Cookie,则此 Cookie 将无法通过 Tableau Server 所需的身份验证。要避免出现这种情况,Web 浏览器必须配置为允许第三方 Cookie。


如果 Tableau Server 配置为使用受信任的身份验证,在浏览器中打开新视图并尝试导航回之前打开的视图时,可能会收到此错误消息。

Tableau Server 通过 tsm configuration set 选项vizqlserver.protect_sessions(默认情况下设置为 true)防止未经授权地重用 VizQL 会话。由于 Tableau Server 配置为使用受信任的身份验证,因此您可能不需要这种级别的保护。若要禁用此选项,您可以使用 tsm configuration set 选项vizqlserver.protect_sessions 更改为 false