Authentication icCube-如何使用apacheweb服务器对icCube进行身份验证
我目前正在编写一个WebApp来访问我们的ICCube系统的报告。应用程序页面托管在与IcCube服务器不同的服务器上。该服务器目前是一个本地Apache服务器(xampp),使用基本身份验证对用户进行身份验证,然后用户才能访问我的htdocs。我希望我的Apache在icCube的内部授权管理报表访问时进行身份验证,只需要一次登录 我的申请基于IcCube提供的;因此,它使用显式JavaScript身份验证(它通过ic3.getDemoDataSourceSettings()获取演示用户数据) 在努力解决这件事之后,我还是像以前一样困惑。Apache配置的相关页面列出了Apache和icCube的可能配置,但我不知道应该使用哪种配置(优点和缺点),以及它们是否都可以与我们的服务器设置一起使用Authentication icCube-如何使用apacheweb服务器对icCube进行身份验证,authentication,xampp,iccube,iccube-reporting,Authentication,Xampp,Iccube,Iccube Reporting,我目前正在编写一个WebApp来访问我们的ICCube系统的报告。应用程序页面托管在与IcCube服务器不同的服务器上。该服务器目前是一个本地Apache服务器(xampp),使用基本身份验证对用户进行身份验证,然后用户才能访问我的htdocs。我希望我的Apache在icCube的内部授权管理报表访问时进行身份验证,只需要一次登录 我的申请基于IcCube提供的;因此,它使用显式JavaScript身份验证(它通过ic3.getDemoDataSourceSettings()获取演示用户数据)
<VirtualHost *:80>
ServerName your.domain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /icCube http://your-ip:8383/icCube
ProxyPassReverse /icCube http://your-ip:8383/icCube
</VirtualHost>
第一个过滤器可用于除GWT以外的所有服务;对于GWT,您可以使用第二个。以下是可能的icCube.xml的摘录:
IcCubeApacheAuthenticationServletFilter
IcCubeApacheGwtAuthenticationServletFilter
<xmlaComponentConfiguration>
<!--<tcpPortNumber>8484</tcpPortNumber>-->
<httpUrl>/icCube/xmla</httpUrl>
<enableHttpCompression>true</enableHttpCompression>
<filter>XMLA (Apache) Authentication</filter>
</xmlaComponentConfiguration>
<gwtServiceComponentConfiguration>
<enableFileDownloadCompression>true</enableFileDownloadCompression>
<filter>GWT (Apache) Authentication</filter>
</gwtServiceComponentConfiguration>
<reportingComponentConfiguration>
<url>/icCube/doc/*</url>
<enableCompression>true</enableCompression>
<filter>Report Authentication</filter>
</reportingComponentConfiguration>
<gviComponentConfiguration>
<url>/icCube/gvi</url>
<enableCompression>true</enableCompression>
<filter>GVI Authentication</filter>
<filter>GVI Authentication (logout)</filter>
</gviComponentConfiguration>
<filterConfiguration>
<filter>
<filter-name>XMLA (Apache) Authentication</filter-name>
<filter-class>crazydev.iccube.server.authentication.IcCubeApacheAuthenticationServletFilter</filter-class>
</filter>
<filter>
<filter-name>GWT (Apache) Authentication</filter-name>
<filter-class>crazydev.iccube.server.authentication.IcCubeApacheGwtAuthenticationServletFilter</filter-class>
</filter>
<filter>
<filter-name>Report Authentication</filter-name>
<filter-class>crazydev.iccube.server.authentication.IcCubeApacheAuthenticationServletFilter</filter-class>
</filter>
<filter>
<filter-name>GVI Authentication</filter-name>
<filter-class>crazydev.iccube.server.authentication.IcCubeApacheAuthenticationServletFilter</filter-class>
<init-param>
<param-name>anonymousLogon</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter>
<filter-name>GVI Authentication (logout)</filter-name>
<filter-class>crazydev.iccube.server.authentication.IcCubeGviLogoutAuthenticationServletFilter</filter-class>
</filter>
</filterConfiguration>
/icCube/xmla
真的
XMLA(Apache)身份验证
真的
GWT(Apache)身份验证
/icCube/doc/*
真的
报告验证
/icCube/gvi
真的
GVI认证
GVI身份验证(注销)
XMLA(Apache)身份验证
crazydev.iccube.server.authentication.iccubeAppacheAuthenticationServletFilter
GWT(Apache)身份验证
crazydev.iccube.server.authentication.iccubeAppacheGWtauthenticationServletFilter
报告验证
crazydev.iccube.server.authentication.iccubeAppacheAuthenticationServletFilter
GVI认证
crazydev.iccube.server.authentication.iccubeAppacheAuthenticationServletFilter
匿名登录
假的
GVI身份验证(注销)
crazydev.iccube.server.authentication.IcCubeGviLogoutAuthenticationServletFilter
希望能有所帮助。我目前将用户数据显式传递给ic3.Reporting,如下所示:
var dsSettings=ic3.getDemoDataSourceSettings();dsSettings.url=gviUrl;var ic3reporting=new ic3.Reporting({noticesLevel:ic3.NoticeLevel.ERROR,dsSettings:dsSettings}
如何更改此段落以使用servlet解决方案?我假设我仍然需要一段类似的代码来获得getAllReportNames()获取用户有权访问的内容。不知道为什么需要显式登录。执行Apache Basic Auth.意味着Javascript文件发送的GVI请求将在服务器端进行身份验证,这意味着返回的报告列表取决于经过身份验证的用户。这是否意味着我可以将dsSettings保留为unde罚款?好的,我配置了一个与您的示例类似的IcCube和Apache的本地测试安装,它似乎工作正常。由于不同的问题,我无法正确测试它,我将在单独的问题中发布这些问题。感谢到目前为止的帮助!更新:使用我们的实时系统测试配置后,IcCube不再可访问,也无法通过标准在线接口,也不是通过apache托管的WebApp。接口状态:HTTP错误:500访问/icCube/service.gwt时出现问题。原因:javax.servlet.ServletException:icCube身份验证[icCube icc用户]错误:缺少用户凭据
我认为当前系统中的配置存在根本性的问题,有什么想法吗?我现在返回到前面的iccube.xml。