itn 2023-06-20
bbsId를 변조해서 공지사항에 글 등록 방지 처리
@7d73cf767a860f6a97cdf2e8db0aca0800d6191d
src/main/java/itn/let/cop/bbs/service/EgovBBSManageService.java
--- src/main/java/itn/let/cop/bbs/service/EgovBBSManageService.java
+++ src/main/java/itn/let/cop/bbs/service/EgovBBSManageService.java
@@ -217,6 +217,8 @@
 
 	public List<BoardVO> selectAdminMainBoardByDash(BoardVO boardVO) throws Exception;
 	
+	public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception;
+	
 	public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception;
 	
 	public int selectAdminMainYdaBoardCnt(BoardVO boardVO) throws Exception;
src/main/java/itn/let/cop/bbs/service/impl/BBSManageDAO.java
--- src/main/java/itn/let/cop/bbs/service/impl/BBSManageDAO.java
+++ src/main/java/itn/let/cop/bbs/service/impl/BBSManageDAO.java
@@ -350,6 +350,11 @@
     	return (List<BoardVO>) list("BBSManageDAO.selectAdminMainBoardByDash", boardVO);
     }
     
+    @SuppressWarnings("unchecked")
+    public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
+    	return (List<BoardVO>) list("BBSManageDAO.selectUserBbsWriteList", boardVO);
+    }
+    
 	public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception{
 		return (Integer)select("BBSManageDAO.selectAdminMainNewBoardCnt", boardVO);
 	}
src/main/java/itn/let/cop/bbs/service/impl/EgovBBSManageServiceImpl.java
--- src/main/java/itn/let/cop/bbs/service/impl/EgovBBSManageServiceImpl.java
+++ src/main/java/itn/let/cop/bbs/service/impl/EgovBBSManageServiceImpl.java
@@ -331,6 +331,11 @@
 	public List<BoardVO> selectAdminMainBoardByDash(BoardVO boardVO) throws Exception {
 		return bbsMngDAO.selectAdminMainBoardByDash(boardVO);
 	}
+
+	@Override
+	public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
+		return bbsMngDAO.selectUserBbsWriteList(boardVO);
+	}	
 	
 	@Override
 	public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception {
src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java
--- src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java
+++ src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java
@@ -2242,6 +2242,20 @@
 		ModelAndView modelAndView = new ModelAndView();
 		modelAndView.setViewName("jsonView");
 
+		// Start => bbsId를 변조해서 공지사항에 글 등록 방지 처리
+		//boardVO.setBbsId("BBSMSTR_000000000651");	// 공지사항
+		List<BoardVO> userBbsWriteList = bbsMngService.selectUserBbsWriteList(boardVO);
+		System.out.println("boardVO.getBbsId : " + boardVO.getBbsId());
+		System.out.println("userBbsWriteList.size() : " + userBbsWriteList.size());
+		
+		if (userBbsWriteList.size() == 0) {
+			// 1:1문의, 불편사항 등 고객이 등록할수있는 게시판 목록이 아닐경우 
+			modelAndView.addObject("message", "잘못된 접근입니다.\n관리자에게 문의하세요.");
+			modelAndView.addObject("result", "fail");
+			return modelAndView;			
+		}
+		// End		
+		
 		if (bmVO == null || ("N").equals(bmVO.getUseAt())) {
 			redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
 			//return "redirect:/web/main/mainPage.do";
@@ -2622,6 +2636,20 @@
 		ModelAndView modelAndView = new ModelAndView();
 		modelAndView.setViewName("jsonView");
 		
+		// Start => bbsId를 변조해서 공지사항에 글 등록 방지 처리
+		//boardVO.setBbsId("BBSMSTR_000000000651");	// 공지사항
+		List<BoardVO> userBbsWriteList = bbsMngService.selectUserBbsWriteList(boardVO);
+		System.out.println("boardVO.getBbsId : " + boardVO.getBbsId());
+		System.out.println("userBbsWriteList.size() : " + userBbsWriteList.size());
+		
+		if (userBbsWriteList.size() == 0) {
+			// 1:1문의, 불편사항 등 고객이 등록할수있는 게시판 목록이 아닐경우 
+			modelAndView.addObject("message", "잘못된 접근입니다.\n관리자에게 문의하세요.");
+			modelAndView.addObject("result", "fail");
+			return modelAndView;			
+		}
+		// End
+		
 		BoardMasterVO bmVO = new BoardMasterVO();
 		bmVO.setBbsId(boardVO.getBbsId());
 		bmVO = bbsAttrbService.selectBBSMasterInf(bmVO);
src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Mysql.xml
@@ -1767,6 +1767,17 @@
 	    LIMIT #recordCountPerPage# OFFSET #firstIndex#
    </select>   
    
+   <select id="BBSManageDAO.selectUserBbsWriteList" parameterClass="BoardVO" resultClass="BoardVO"  >
+		SELECT 
+			BBS_ID AS bbsId
+			, BBS_NM AS bbsNm 
+		FROM lettnbbsmaster 
+		WHERE 
+			USE_AT = 'Y'
+			AND DASHBD_CNT_YN = 'Y'
+			AND BBS_ID = #bbsId#
+   </select>   
+      
    <select id="BBSManageDAO.selectAdminMainNewBoardCnt" parameterClass="BoardVO" resultClass="java.lang.Integer" >
 		<![CDATA[
 		SELECT COUNT(*) FROM LETTNBBS A
Add a comment
List