Authentication 未登录的Pentaho BI服务器报告

Authentication 未登录的Pentaho BI服务器报告,authentication,login,pentaho,pentaho-cde,Authentication,Login,Pentaho,Pentaho Cde,我需要将Pentaho社区仪表板报告集成到DotNet应用程序中。现在我面临一个问题。 我希望在不需要Pentaho服务器请求身份验证或登录的情况下,只需单击一下即可打开报告。我试图找到一个解决方案,发现如果我在url中使用用户ID和密码,它就会工作。所以我做了这个 但这对我不起作用,浏览器仍然要求提供登录凭据。我不明白出了什么问题。 如有任何帮助,我们将不胜感激 提前谢谢。 当做 Ritesh。您需要在“管理用户和角色”透视图下创建以下用户: anonymousUser (notice th

我需要将Pentaho社区仪表板报告集成到DotNet应用程序中。现在我面临一个问题。 我希望在不需要Pentaho服务器请求身份验证或登录的情况下,只需单击一下即可打开报告。我试图找到一个解决方案,发现如果我在url中使用用户ID和密码,它就会工作。所以我做了这个

但这对我不起作用,浏览器仍然要求提供登录凭据。我不明白出了什么问题。 如有任何帮助,我们将不胜感激

提前谢谢。 当做
Ritesh。

您需要在“管理用户和角色”透视图下创建以下用户:

anonymousUser (notice the uppercase U)
Change the following lines from:

\A/api/.*\Z=Authenticated

\A/plugin/.*\Z=Authenticated

to:

\A/api/.*\Z=Anonymous,Authenticated

\A/plugin/.*\Z=Anonymous,Authenticated
你可以给这个用户任何密码;这只是为了确保该用户映射pentaho解决方案/系统内配置文件中使用的用户

确保匿名角色至少具有读取权限

匿名角色应已存在于BA服务器中(默认情况下,这是“管理用户和角色”透视图中的系统角色)

在公共文件夹下创建文件夹:在我的示例中为“OpenReports”

选择“OpenReports”文件夹单击属性>单击共享>取消选中>继承文件夹权限

确保向其中添加匿名用户和匿名角色,并且他们至少具有读取权限

单击“确定”

将Analyzer报告复制到新的OpenReports文件夹

验证是否继承了匿名用户和匿名角色的权限;如果没有,则相应地添加它们

停止BA服务器

找到以下文件:

\pentaho\server\biserver-ee\pentaho-solutions\system\applicationContext-spring-security.xml
Change the following lines from:

\A/api/.*\Z=Authenticated

\A/plugin/.*\Z=Authenticated

to:

\A/api/.*\Z=Anonymous,Authenticated

\A/plugin/.*\Z=Anonymous,Authenticated
添加以下行:

\A/i18n.*\Z=Anonymous,Authenticated

\A/js/utils.js\Z=Anonymous,Authenticated

\A/api/.*require-js-cfg.js\Z=Anonymous,Authenticated

\A/api/.*\Z=Anonymous,Authenticated

\A/api/repos.*\Z=Anonymous,Authenticated

\A/api/common-ui/resources/.*\Z=Anonymous,Authenticated

\A/api/common-ui/util/.*\Z=Anonymous,Authenticated
Change the following lines from:

\A/api/.*\Z=Authenticated

\A/plugin/.*\Z=Authenticated

to:

\A/api/.*\Z=Anonymous,Authenticated

\A/plugin/.*\Z=Anonymous,Authenticated
以下几行打开对OpenReports文件夹及其内容的匿名访问

\A/api/repos.*public.*openreports.*\Z=Anonymous,Authenticated

\A/api/repos.*public.*openreports.*/viewer/.*\Z=Anonymous,Authenticated

\A/api/repos.*public.*openreports.*/common-ui/.*\Z=Anonymous,Authenticated

\A/api/repos.*public.*openreports.*/common-ui/util/.*\Z=Anonymous,Authenticated



after:

\A/js/require-cfg.js\Z=Anonymous,Authenticated

and before:

\A/content/data-access/resources/gwt/.*css\Z=Anonymous,Authenticated
添加以下行:(打开Analyzer插件的URL访问)

Change the following lines from:

\A/api/.*\Z=Authenticated

\A/plugin/.*\Z=Authenticated

to:

\A/api/.*\Z=Anonymous,Authenticated

\A/plugin/.*\Z=Anonymous,Authenticated
确保添加以下行:

After:

\A/content/data-access/resources/gwt/.*css\Z=Anonymous,Authenticated

and before:

\A/webcontext.js.*\Z=Anonymous,Authenticated
找到以下内容
Change the following lines from:

\A/api/.*\Z=Authenticated

\A/plugin/.*\Z=Authenticated

to:

\A/api/.*\Z=Anonymous,Authenticated

\A/plugin/.*\Z=Anonymous,Authenticated
保存文件

重新启动BA服务器

您应该能够通过URL成功调用报告,而无需通过登录页面进行身份验证;以下是一个示例URL:


这里是绕过登录的最简单方法:

这对我来说很有用,我用的是pentaho 5.4

不要忘记创建匿名用户,并在“系统角色”中选中“只读内容”

如果您使用管理员用户,然后尝试访问 它将自动登录,因为浏览器仍有会话登录


对不起,我的英语不好,

谢谢你,马龙。。它起作用了。。这正是我想要的。不要把整个服务器都泄露出去。它只会使一个文件夹匿名。再次感谢你。马龙,我听不懂你的“之后”、“之前”、“到”。请告诉我们要在applicationContext-spring-security.xml文件中修改的确切标记或行。类似于:。提前谢谢@JRichardsz“before”是您需要搜索的行,“after”是您必须复制粘贴到搜索行上的行(replace)。希望你能理解。有人知道这在8.0左右是否可行吗?如果您不是经过身份验证的用户,似乎无法访问jackrabbit存储库中的文件,因此唯一的解决方案是创建某种虚拟来宾用户?@Codek已经三年没有使用Pentaho了。你最好问一个新的问题,参考这个答案,希望有人会回答。