从论坛的一篇文章(http://www.javaeye.com/topic/335078)得知,在BIRT VIEWER SERVLET内部也有认证接口代码,只是简单的返回了true,没有做处理。BIRT VIEWER SERVLET是报表处理的入口,该接口如果返回flase,那么报表将不会显示,目标就是在该接口加入我们自己的逻辑实现,本阶段先实现简单的安全认证,即在没有登录的情况下无法访问报表。
处理步骤:
1.把birt viewer项目和现有项目整合在一起(为了让birt viewer项目能获取到现有项目的session)
2.修改BIRT VIEWER SERVLET类,该类源码在org.eclipse.birt.report.servlet.BirtEngineServlet下面,找到函数经行修改,红色为新增部分
/**
* Local authentication.
*
* @param request
* incoming http request
* @param response
* http response
* @return
*/
protected boolean __authenticate( HttpServletRequest request,
HttpServletResponse response )
{
//报表权限,没有登录访问不了
if(request.getSession().getAttribute("user")==null)
{
return false;
}
return true;
}
3.将该类编译后放进BIRT包里面。
posted on 2009-03-19 10:42
流腥鱼 阅读(2017)
评论(2) 编辑 收藏 所属分类:
报表