TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效

TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效

此篇文章既给别人参考,也是给自己备份资料。

1. security基础配置参考 http://blog.****.net/xiao__gui/article/details/48241029 。 

我使用的是自定义filter,自定义class  extends AbstractSecurityInterceptor implements Filter 为核心。

  <!-- 一个自定义的filter,必须包含authenticationManager,accessDecisionManager,securityMetadataSource三个属性,
    我们的所有控制将在这三个类中实现,解释详见具体配置 
    1.userdetailsservice:
定义了用户有哪些角色?(授权)


2.FilterInvocationSecurityMetadataSource
定义了资源和角色(授权)的对应关系

3.AccessDecisionManager 
决定用户是否能访问资源?
-->
    <beans:bean id="myFilter" class="com.zno.bi.security.BiFilterSecurityInterceptor">
        <beans:property name="authenticationManager" ref="authenticationManager" />
        <beans:property name="accessDecisionManager"  ref="myAccessDecisionManagerBean" />
        <beans:property name="securityMetadataSource" ref="securityMetadataSource" />
    </beans:bean>


2.  BIRT集成

我使用的是 TOMCAT8 和 birt-runtime-4.6.0。

TOMCAT官网下载: https://tomcat.apache.org/download-80.cgi 。

 birt-runtime 下载地址:http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-4.7.0-201706222054/birt-runtime-4.7.0-20170622.zip

TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效


2.1打开 birt-runtime 将 WebViewerExample\WEB-INF如下文件到工程的WEB-INF目录下:

2.2 tlds文件夹、以及所有的配置信息 除web.xml以及lib。

2.3

WebViewerExample 下的webcontent 文件夹 放到工程中的WEB-INF 同级

TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效


2.4  将WebViewerExample\WEB-INF 中的 web.xml 嵌入到工程中的web.xml


2.5 其中最重要的就是lib项目导入。

有几种导入法

第一种只支持文件文档查看 最基础的版本 只支持基本的文字查看 不支持xlsx以及柱状图等动画

axis.jar

com.ibm.icu_56.1.0.v201601250100.jar

commons-discovery-0.2.jar

javax.wsdl_1.5.1.v201012040544.jar

jaxrpc.jar

js.jar

org.apache.batik.css_1.6.0.v201011041432.jar

org.apache.batik.util_1.6.0.v201011041432.jar

org.apache.commons.codec_1.6.0.v201305230611.jar

org.apache.commons.logging_1.1.1.v201101211721.jar

org.apache.xerces_2.9.0.v201101211617.jar

org.eclipse.birt.runtime_4.6.0-20160607.jar

org.eclipse.core.runtime_3.12.0.v20160606-1342.jar

org.eclipse.datatools.connectivity.oda.consumer_3.3.0.201603142002.jar

org.eclipse.datatools.connectivity.oda_3.5.0.201603142002.jar

org.eclipse.datatools.connectivity_1.13.0.201603142002.jar

org.eclipse.equinox.common_3.8.0.v20160509-1230.jar

org.eclipse.equinox.registry_3.6.100.v20160223-2218.jar

org.eclipse.osgi_3.11.0.v20160603-1336.jar

org.w3c.css.sac_1.3.1.v200903091627.jar

viewservlets.jar

21个jar就能支持最基础的birt了。


第二种 可以导入xlsx之类的

在第一种基础上如果想加入xlsx之类的导出查看格式 除了上面的21种还的加入

org.apache系列的所有jar,这样的话所有查看功能已支持。

第三种 可以集成所有功能 这种功能也是我这边正在使用的功能。

直接上截图了

org.apache全上

org.eclipse到org.w3c全上

TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效

TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效

TOMCAT8 WEB 集成 BIRT 并且 security URL权限完美控制!!!亲测有效



第四种就是所有lib全部导入到工程中的lib中。



3 整个流程集成遇到的错误!!!

如果遇到签名之类的错误

org.eclipse.birt.runtime_4.6.0-20160607.jar 删除 META-INF下的 ECLIPSE_.RSA ECLIPSE_.SF.

点击查看无法加载pdf格式 提醒 要注意是否缺少jar。

如果 内部错误的话 看看是否有  org.eclipse.birt.report.data.oda.jdbc.JDBCException 

mysql-connector-java-5.1.37.jar 连接。

警告:!!!其中有个错误 发了我很多时间 。 其中的原因是odaconnectivity.jar 冲突,选择删除。

关键字 : Unable to find required classes (javax.activation.DataHandler and javax.mail


class "org.eclipse.core.runtime.Platform"'s signer information does not matc

查看是否是log4j jar冲突。


作者QQ:845415184

如有问题可以一起讨论讨论。

最后项目以及权限完美运行!!!