无需登录的 Pentaho BI 服务器报告
Pentaho BI server report without Log in
我需要将我的 Pentaho 社区仪表板报告集成到 DotNet 应用程序中。现在我面临一个问题。
我希望报告在没有 Pentaho 服务器要求身份验证或登录的情况下单击打开。我试图找到一个解决方案,发现如果我在 url 中使用用户 ID 和密码,它将起作用。所以我这样做了
但这对我不起作用,浏览器仍在要求登录凭据。我不明白出了什么问题。
任何帮助都将不胜感激。
提前致谢。
问候,
瑞特什.
您需要在“管理用户和角色”透视图中创建以下用户:
anonymousUser (notice the uppercase U)
您可以给这个用户任何密码;这只是为了确保此用户映射 pentaho-solutions/system
中配置文件中使用的用户
确保匿名角色至少具有读取权限。
匿名角色应该已经存在于 BA 服务器中(默认情况下这是管理用户和角色视角中的系统角色)
在 Public 下创建一个文件夹:在我的例子中 "OpenReports"
Select "OpenReports" 文件夹单击属性 > 单击共享 > 取消选中 > 继承文件夹权限
确保向其中添加匿名用户和匿名角色,并且他们至少具有读取权限
点击确定
将 Analyzer 报告复制到新的 OpenReports 文件夹
验证匿名用户和匿名角色的权限是否被继承;如果没有相应地添加它们。
停止 BA 服务器
找到以下文件:
\pentaho\server\biserver-ee\pentaho-solutions\system\applicationContext-spring-security.xml
添加以下行:
\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
以下行打开对 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
添加以下行:(这些打开 URL 访问 Analyzer 插件)
\A/content/pentaho-cdf/.*\Z=Anonymous,Authenticated
\A/content/common-ui/.*\Z=Anonymous,Authenticated
\A/content/analyzer/.*\Z=Anonymous,Authenticated
\A/content/analyzer/scripts/.*\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:
这是最简单的绕过登录的方法:
http://pedroalves-bi.blogspot.pt/2015/02/useful-tips-easy-authentication-in.html
它对我有用,我使用的是 pentaho 5.4
不要忘记创建 anonymousUser 并且在 "system Roles" 中只检查 "Read Content".
如果您使用管理员用户然后尝试访问 http://localhost:8080/pentaho/Home
它会自动登录,因为浏览器仍然有会话登录。
抱歉我的英语不好,
我需要将我的 Pentaho 社区仪表板报告集成到 DotNet 应用程序中。现在我面临一个问题。 我希望报告在没有 Pentaho 服务器要求身份验证或登录的情况下单击打开。我试图找到一个解决方案,发现如果我在 url 中使用用户 ID 和密码,它将起作用。所以我这样做了
但这对我不起作用,浏览器仍在要求登录凭据。我不明白出了什么问题。 任何帮助都将不胜感激。
提前致谢。 问候, 瑞特什.
您需要在“管理用户和角色”透视图中创建以下用户:
anonymousUser (notice the uppercase U)
您可以给这个用户任何密码;这只是为了确保此用户映射 pentaho-solutions/system
中配置文件中使用的用户确保匿名角色至少具有读取权限。
匿名角色应该已经存在于 BA 服务器中(默认情况下这是管理用户和角色视角中的系统角色)
在 Public 下创建一个文件夹:在我的例子中 "OpenReports"
Select "OpenReports" 文件夹单击属性 > 单击共享 > 取消选中 > 继承文件夹权限
确保向其中添加匿名用户和匿名角色,并且他们至少具有读取权限
点击确定
将 Analyzer 报告复制到新的 OpenReports 文件夹
验证匿名用户和匿名角色的权限是否被继承;如果没有相应地添加它们。
停止 BA 服务器
找到以下文件:
\pentaho\server\biserver-ee\pentaho-solutions\system\applicationContext-spring-security.xml
添加以下行:
\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
以下行打开对 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
添加以下行:(这些打开 URL 访问 Analyzer 插件)
\A/content/pentaho-cdf/.*\Z=Anonymous,Authenticated
\A/content/common-ui/.*\Z=Anonymous,Authenticated
\A/content/analyzer/.*\Z=Anonymous,Authenticated
\A/content/analyzer/scripts/.*\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:
这是最简单的绕过登录的方法:
http://pedroalves-bi.blogspot.pt/2015/02/useful-tips-easy-authentication-in.html
它对我有用,我使用的是 pentaho 5.4
不要忘记创建 anonymousUser 并且在 "system Roles" 中只检查 "Read Content".
如果您使用管理员用户然后尝试访问 http://localhost:8080/pentaho/Home 它会自动登录,因为浏览器仍然有会话登录。
抱歉我的英语不好,