如何根据IronPython中的当前用户“隐藏”Spotfire中的选项卡?

时间:2015-11-05 15:17:04

标签: ironpython spotfire

我有一个标签,其中包含数据验证和测试的可视化。我想把那个标签留在那里而不向除了开发者以外的任何人展示。

我可以通过这种方式获取当前用户,但无法找到如何“隐藏”标签。

from System.Threading import Thread 
print Thread.CurrentPrincipal.Identity.Name 

3 个答案:

答案 0 :(得分:2)

我很确定隐藏标签是不可能的。但是,还有一些其他可能的解决方案。

  1. 将导航样式从标题标签更改为历史标签,然后处理带有脚本填充的文本区域的页面之间的导航。这是最简单的解决方案,但如果您在此分析中拥有超级敏感数据并且您的用户通过Analyst客户端访问,那么用户可以更改导航样式。
  2. 基于用户组,编写一个脚本,可以动态创建具有可视化的任何页面。对于具有Analyst和脚本访问权限的用户来说,这也是一个风险,并且创建和维护的工作要多得多(如果你喜欢编写脚本,也会非常酷和有趣!)。
  3. 根据“用户组”进行不同的分析。可能不是最佳解决方案,因为您需要为每个分析重复任何更新。这给了你最大的安全性,但我认为最高的长期成本(假设分析会随着时间的推移而变化)。

答案 1 :(得分:0)

更新任何可能感兴趣的人:

在 Spotfire 10+ 中,您可以在文本区域中插入一些代码,以便在 Web 上查看时隐藏仪表板页面中的选项卡(这不会隐藏 Analyst 客户端上的选项卡):

navigationBar = $("#id10") 
navigationBar.css("display", "none"); 

然后,您可以使用 IPython 来检查用户名并在文本区域实时添加或删除此代码。这将根据用户名隐藏和显示选项卡。

要显示其他选项卡,请遵循 niko 的选项 1,只需在文本区域中使用额外的 HTML/CSS 创建您自己的导航。

答案 2 :(得分:0)

如果您使用的是 Spotfire 10.8 或更高版本,您有更强大的解决方案,您可以将以下两个 IronPython 脚本合并为一个,在分析负载时执行。

1)获取用户名或组 2)隐藏页面 3)CustomDateTime 函数在分析负载时触发IP。

这适用于消费者许可用户。

https://community.tibco.com/wiki/how-fetch-information-about-logged-user-tibco-spotfirer-using-ironpython-script

https://community.tibco.com/wiki/how-show-or-hide-pages-consumer-users-viewing-mode-tibco-spotfirer-using-ironpython-script

https://community.tibco.com/wiki/custom-datetime-data-function-tibco-spotfire