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
2.1打开 birt-runtime 将 WebViewerExample\WEB-INF如下文件到工程的WEB-INF目录下:
2.2 tlds文件夹、以及所有的配置信息 除web.xml以及lib。
2.3
WebViewerExample
下的webcontent 文件夹 放到工程中的WEB-INF 同级
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全上
第四种就是所有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
如有问题可以一起讨论讨论。
最后项目以及权限完美运行!!!