posts - 15,comments - 29,trackbacks - 0

          從論壇的一篇文章(http://www.javaeye.com/topic/335078)得知,在BIRT VIEWER SERVLET內(nèi)部也有認證接口代碼,只是簡單的返回了true,沒有做處理。BIRT VIEWER SERVLET是報表處理的入口,該接口如果返回flase,那么報表將不會顯示,目標就是在該接口加入我們自己的邏輯實現(xiàn),本階段先實現(xiàn)簡單的安全認證,即在沒有登錄的情況下無法訪問報表。

          處理步驟:

          1.把birt viewer項目和現(xiàn)有項目整合在一起(為了讓birt viewer項目能獲取到現(xiàn)有項目的session)

          2.修改BIRT VIEWER SERVLET類,該類源碼在org.eclipse.birt.report.servlet.BirtEngineServlet下面,找到函數(shù)經(jīng)行修改,紅色為新增部分

          /**
            * Local authentication.
            *
            * @param request
            *            incoming http request
            * @param response
            *            http response
            * @return
            */
           protected boolean __authenticate( HttpServletRequest request,
             HttpServletResponse response )
           {
            
            //報表權(quán)限,沒有登錄訪問不了
            if(request.getSession().getAttribute("user")==null)
            {
             return false;
            }

            
            return true;
           }

          3.將該類編譯后放進BIRT包里面。

          posted on 2009-03-19 10:42 流腥魚 閱讀(2049) 評論(2)  編輯  收藏 所屬分類: 報表

          FeedBack:
          # re: Birt報表安全權(quán)限方案
          2009-03-22 18:38 | 張校云
          不錯  回復  更多評論
            
          # re: Birt報表安全權(quán)限方案
          2009-07-09 15:49 | royliaoy
          把下面這段代碼加到webcontent > pages > layout > FramesetFragment.jsp中,也可以實現(xiàn)

          <script >
          if ("<%= request.getSession().getAttribute("user") %>" == null) {
          alert("需要登陸才能訪問");
          window.location.href = "login.jsp";
          }
          </script >

            回復  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 永嘉县| 乡宁县| 泰顺县| 蚌埠市| 江油市| 依兰县| 安仁县| 荔浦县| 康马县| 西乌| 房山区| 祁连县| 昌宁县| 湟中县| 靖宇县| 张北县| 永胜县| 遂溪县| 德州市| 建昌县| 甘肃省| 常宁市| 文安县| 成都市| 任丘市| 乐山市| 长海县| 台江县| 葫芦岛市| 江北区| 密山市| 大邑县| 沙湾县| 尤溪县| 台山市| 英超| 博野县| 通化市| 长垣县| 电白县| 利津县|