BIRT Viewer Servlet 內建 __authenticate 驗證介面,預設直接返回 true。透過覆寫該方法,可在未登入時攔截報表請求,實現簡易權限控制。
將 BIRT Viewer WAR 解壓並合併至主專案,確保共用同一 HttpSession,以便讀取登入用戶資訊。
BirtEngineServlet原始碼位置:org.eclipse.birt.report.servlet.BirtEngineServlet
protected boolean __authenticate(HttpServletRequest request,
HttpServletResponse response) {
// 未登入攔截
if (request.getSession().getAttribute("user") == null) {
return false; // 直接拒絕,報表不渲染
}
return true;
}
BirtEngineServlet.class 打入 birt.war/WEB-INF/classes/org/eclipse/birt/report/servlet/ 或專案 WEB-INF/classes 覆蓋。