Pentaho:直接链接到插件的用户名和密码参数

Posted

技术标签:

【中文标题】Pentaho:直接链接到插件的用户名和密码参数【英文标题】:Pentaho: userid and password arguments in direct links to plugins 【发布时间】:2014-08-12 11:25:20 【问题描述】:

将 Pentaho(Linux 中的 v5.1.0)与 Compiere ERP(Windows 中的 v.3.81)集成在一起

尝试在 URL 中传递用户名和密码。 requestParameterProcessingFilter (api & Plugin ) 在文件系统/applicationContext-spring-security.xml 中更新

方法一:

testserver:8080/pentaho/api/repos/%home%admin%31.prpt/viewer?userid=admin&password=password

始终在所有浏览器中使用 HTTP 登录框提示用户 ID 和密码

方法二:

admin:password@testserver:8080/pentaho/api/repos/%home%admin%31.prpt/viewer

在 Chrome 中工作正常,在首次启动时提示登录框并询问确认框(从其他 PC 访问),链接在 Internet Explorer 中不起作用

谁能帮我解决这个问题。

【问题讨论】:

【参考方案1】:

版本 4.8 和 5.0(以及 5.1)之间有一些安全变化:

方法一:

根据这个bug-report,您应该像在下一个方式中那样更改applicationContext-spring-security.xml

/api/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,requestParameterProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS
      /plugin/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,requestParameterProcessingFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS

重要提示:重启 BA 服务器!

方法二:

Internet Explorer 不喜欢类似 ftp 的连接参数。 Here我找到了绕过它的方法,它对我有用,但是我浪费了 20 分钟来正确更改 URL。

: 作为 %3A

? 作为 %3F

** as **%5C

%%25

#%23

/%2F

【讨论】:

是的,我遵循相同的方法,但在首次启动时提示登录框并询问确认框【参考方案2】:

你必须修改:/pentaho-solutions/system/applicationContext-spring-security.xml

<bean id="filterChainProxy" class="org.springframework.security.util.FilterChainProxy">
    <property name="filterInvocationDefinitionSource">
      <value>
        <![CDATA[CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
        PATTERN_TYPE_APACHE_ANT
        /webservices/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS
        /api/repos/**/parameter=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS
        /api/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,basicProcessingFilter,requestParameterProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS        
        /plugin/**=securityContextHolderAwareRequestFilterForWS,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,basicProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilterForWS,filterInvocationInterceptorForWS
        /**=securityContextHolderAwareRequestFilter,httpSessionPentahoSessionContextIntegrationFilter,httpSessionContextIntegrationFilter,httpSessionReuseDetectionFilter,logoutFilter,authenticationProcessingFilter,basicProcessingFilter,requestParameterProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor]]>
      </value>
    </property>
  </bean>

【讨论】:

以上是关于Pentaho:直接链接到插件的用户名和密码参数的主要内容,如果未能解决你的问题,请参考以下文章

Pentaho 7 CE 报表设计器超链接 BUG

如何在.NET 中进行基本身份验证后重定向到 Pentaho 的主页?

在 Pentaho Kettle 中的步骤初始化之前测试数据库连接?

pentaho - 将数据传递给报表查询

loadrunner 里面 怎样将网站的登录密码进行MD5解密之后 做参数化?

使用 UDJC 在 Pentaho 中读取受密码保护的 PDF