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:直接链接到插件的用户名和密码参数的主要内容,如果未能解决你的问题,请参考以下文章
如何在.NET 中进行基本身份验证后重定向到 Pentaho 的主页?
在 Pentaho Kettle 中的步骤初始化之前测试数据库连接?