Преглед на файлове

vms http, rtsp addr column add

shjung преди 3 години
родител
ревизия
c1f673bf4f

+ 5 - 0
src/main/java/com/its/op/controller/its/LoginController.java

@@ -66,17 +66,22 @@ public class LoginController {
     }
     @GetMapping({"/login.do"})
     public ModelAndView getLogin(HttpServletRequest request, HttpServletResponse response) {
+        //log.error("getLogin3: request, {}", request.toString());
         Authentication auth = SecurityContextHolder.getContext().getAuthentication();
         if (auth != null) {
+            //log.error("getLogin3: auth, {}", auth.toString());
             expiredCookie(response, WebMvcConfig.USER_UUID);
             expiredCookie(response, WebMvcConfig.USER_TIME);
             new SecurityContextLogoutHandler().logout(request, response, auth);
         }
         HttpSession session = request.getSession(false);
         if (session != null) {
+            //log.error("getLogin3: session, {}", session.toString());
             session.invalidate();   // session remove
         }
+        //log.error("getLogin3: forward:/application/login/login.html");
         return new ModelAndView("forward:/application/login/login.html");
+        //return new ModelAndView("redirect:/application/login/login.html");
     }
 
 //    @ApiOperation(value = "로그아웃")

+ 25 - 1
src/main/java/com/its/op/dto/its/vms/TbVmsCtlrDto.java

@@ -194,6 +194,14 @@ public class TbVmsCtlrDto implements Serializable {
     @JsonProperty("strm_sesn_nm")
     private String strmSesnNm;
 
+    @ApiModelProperty("스트리밍 HTTP 주소")  // Y VARCHAR(200)
+    @JsonProperty("strm_http_addr")
+    private String strmHttpAddr;
+
+    @ApiModelProperty("스트리밍 RTSP 주소")  // Y VARCHAR(200)
+    @JsonProperty("strm_rtsp_addr")
+    private String strmRtspAddr;
+
     // Code Description Field
     @ApiModelProperty("VMS 용도 유형 코드 설명")
     @JsonProperty("vms_usag_type_desc")    // VMS_USAG_TYPE_CD
@@ -455,8 +463,20 @@ public class TbVmsCtlrDto implements Serializable {
         //@Size(min=1, max=200)
         private String strmSesnNm;
 
+        @ApiModelProperty("스트리밍 HTTP 주소, Nullable = Y, VARCHAR(200)")  // Y VARCHAR(200)
+        @JsonProperty("strm_http_addr")
+        //@Size(min=1, max=200)
+        @Size(max=200)
+        private String strmHttpAddr;
+
+        @ApiModelProperty("스트리밍 RTSP 주소, Nullable = Y, VARCHAR(200)")  // Y VARCHAR(200)
+        @JsonProperty("strm_rtsp_addr")
+        //@Size(min=1, max=200)
+        @Size(max=200)
+        private String strmRtspAddr;
+
         @Builder
-        public TbVmsCtlrUpdReq(Long vms_ctlr_nmbr, String vms_id, String vms_ctlr_id, String vms_nm, String vms_ctlr_ip, String vms_usag_type_cd, String vms_frm_type_cd, String vms_type_cd, String vms_modl_type_cd, String vms_cmnc_port, String oper_mode, Integer vms_cmnc_err_bass_val, Integer vms_nght_brgh_step, Integer vms_week_brgh_step, Integer vms_phse_chng_cycl, Integer vms_modl_err_rate, Integer cmncfail_slot_nmbr, Integer pwer_fail_slot_nmbr, String del_yn, String cmtrinfr_cnct_yn, String wthrinfr_cnct_yn, String envrinfr_cnct_yn, Integer vms_max_phse_num, String frst_regr_nmbr, String frst_rgst_dt, String last_crpr_nmbr, String last_crct_dt, String panl_on_time, String panl_off_time, String panl_pwer_mode, String brgh_mode, String web_cmra_ip, Double x_crdn, Double y_crdn, String istl_lctn_nm, String trfc_strg_use_yn, Long vms_loc_ifsc_id, Integer fan_mtns_tmpr, Integer hetr_mtns_tmpr, String web_cmra_port, String web_cmra_id, String web_cmra_pwd, String strm_sesn_nm) {
+        public TbVmsCtlrUpdReq(Long vms_ctlr_nmbr, String vms_id, String vms_ctlr_id, String vms_nm, String vms_ctlr_ip, String vms_usag_type_cd, String vms_frm_type_cd, String vms_type_cd, String vms_modl_type_cd, String vms_cmnc_port, String oper_mode, Integer vms_cmnc_err_bass_val, Integer vms_nght_brgh_step, Integer vms_week_brgh_step, Integer vms_phse_chng_cycl, Integer vms_modl_err_rate, Integer cmncfail_slot_nmbr, Integer pwer_fail_slot_nmbr, String del_yn, String cmtrinfr_cnct_yn, String wthrinfr_cnct_yn, String envrinfr_cnct_yn, Integer vms_max_phse_num, String frst_regr_nmbr, String frst_rgst_dt, String last_crpr_nmbr, String last_crct_dt, String panl_on_time, String panl_off_time, String panl_pwer_mode, String brgh_mode, String web_cmra_ip, Double x_crdn, Double y_crdn, String istl_lctn_nm, String trfc_strg_use_yn, Long vms_loc_ifsc_id, Integer fan_mtns_tmpr, Integer hetr_mtns_tmpr, String web_cmra_port, String web_cmra_id, String web_cmra_pwd, String strm_sesn_nm, String strm_http_addr, String strm_rtsp_addr) {
             this.vmsCtlrNmbr = vms_ctlr_nmbr;
             this.vmsId = vms_id;
             this.vmsCtlrId = vms_ctlr_id;
@@ -500,6 +520,8 @@ public class TbVmsCtlrDto implements Serializable {
             this.webCmraId = web_cmra_id;
             this.webCmraPwd = web_cmra_pwd;
             this.strmSesnNm = strm_sesn_nm;
+            this.strmHttpAddr = strm_http_addr;
+            this.strmRtspAddr = strm_rtsp_addr;
         }
 
         public TbVmsCtlr toEntity() {
@@ -547,6 +569,8 @@ public class TbVmsCtlrDto implements Serializable {
                     .webCmraId(this.webCmraId)
                     .webCmraPwd(this.webCmraPwd)
                     .strmSesnNm(this.strmSesnNm)
+                    .strmHttpAddr(this.strmHttpAddr)
+                    .strmRtspAddr(this.strmRtspAddr)
                     .build();
         }
 

+ 9 - 0
src/main/java/com/its/op/dto/its/vms/TbVmsSttsDto.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Builder;
 import lombok.Data;
 
+import javax.persistence.Column;
 import java.io.Serializable;
 
 /**
@@ -199,6 +200,14 @@ public class TbVmsSttsDto implements Serializable {
     @JsonProperty("strm_sesn_nm")
     private String strmSesnNm;
 
+    @ApiModelProperty("스트리밍 HTTP 주소")  // Y VARCHAR(200)
+    @Column(name = "strm_http_addr", length = 200)
+    private String strmHttpAddr;
+
+    @ApiModelProperty("스트리밍 RTSP 주소")  // Y VARCHAR(200)
+    @Column(name = "strm_rtsp_addr", length = 200)
+    private String strmRtspAddr;
+
     @ApiModelProperty("VMS 용도 유형 코드 설명")
     @JsonProperty("vms_usag_type_desc")
     private String vmsUsagTypeDesc;

+ 14 - 0
src/main/java/com/its/op/entity/its/vms/TbVmsCtlr.java

@@ -200,6 +200,14 @@ public class TbVmsCtlr implements Serializable {
     @Column(name = "STRM_SESN_NM", length = 200)
     private String strmSesnNm;
 
+    @ApiModelProperty("스트리밍 HTTP 주소")  // Y VARCHAR(200)
+    @Column(name = "STRM_HTTP_ADDR", length = 200)
+    private String strmHttpAddr;
+
+    @ApiModelProperty("스트리밍 RTSP 주소")  // Y VARCHAR(200)
+    @Column(name = "STRM_RTSP_ADDR", length = 200)
+    private String strmRtspAddr;
+
     @OneToOne
     @JoinColumn(insertable=false, updatable=false, name="VMS_TYPE_CD", referencedColumnName = "VMS_TYPE_CD")
     @NotFound(action = NotFoundAction.IGNORE)
@@ -260,6 +268,8 @@ public class TbVmsCtlr implements Serializable {
                 .webCmraId(this.webCmraId)
                 .webCmraPwd(this.webCmraPwd)
                 .strmSesnNm(this.strmSesnNm)
+                .strmHttpAddr(this.strmHttpAddr)
+                .strmRtspAddr(this.strmRtspAddr)
                 .build();
 
         //dto.setVmsUsagTypeDesc(CodeManager.getCodeDescShort(CodeManager.VMS_USAG_TYPE_CD, dto.getVmsUsagTypeCd()));
@@ -296,6 +306,8 @@ public class TbVmsCtlr implements Serializable {
                 .panlOnTime(this.panlOnTime)
                 .panlOffTime(this.panlOffTime)
                 .strmSesnNm(this.strmSesnNm)
+                .strmHttpAddr(this.strmHttpAddr)
+                .strmRtspAddr(this.strmRtspAddr)
                 .updtDt(CodeManager.CMNC_STTS_ERROR_DT)
                 .cmncSttsCd(CodeManager.CMNC_STTS_ERROR)
                 .provideTime("")
@@ -434,6 +446,8 @@ public class TbVmsCtlr implements Serializable {
         this.webCmraId = req.getWebCmraId();
         this.webCmraPwd = req.getWebCmraPwd();
         this.strmSesnNm = req.getStrmSesnNm();
+        this.strmHttpAddr = req.getStrmHttpAddr();
+        this.strmRtspAddr = req.getStrmRtspAddr();
     }
 
 }

+ 3 - 2
src/main/java/com/its/op/security/WebController.java

@@ -28,14 +28,15 @@ public class WebController {
      */
     @GetMapping({"", "/", "/index.do", "/login.do"})
     public ModelAndView getLogin(HttpServletRequest request, HttpServletResponse response) {
-        log.error("getLogin: {}", request);
+        log.error("getLogin1: {}", request);
         Authentication auth = SecurityContextHolder.getContext().getAuthentication();
         if(auth != null) {
-            log.error("getLogin: {}", auth);
+            log.error("getLogin2: {}", auth);
             return new ModelAndView("redirect:/application/op/00.main/main.html");
             //new SecurityContextLogoutHandler().logout(request, response, auth);
         }
         return new ModelAndView("forward:/application/login/login.html");
+        //return new ModelAndView("forward:/api/auth/login.do");
     }
 
     /**

+ 5 - 2
src/main/java/com/its/op/security/WebSecurityConfig.java

@@ -71,7 +71,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                 .and()
                 .formLogin()
                 .loginPage("/application/login/login.html")
-                //.loginProcessingUrl("/api/auth/login.do")
+                //.loginPage("/api/auth/login.do")
                 .loginProcessingUrl("/api/auth/login.do")
                 .defaultSuccessUrl("/application/op/00.main/main.html", true)
                 .usernameParameter("username")
@@ -85,6 +85,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                 //.logoutRequestMatcher(new AntPathRequestMatcher("/api/auth/logout.do"))
                 .addLogoutHandler(new UserLogoutHandler()).permitAll()
                 .logoutSuccessUrl("/application/login/login.html").permitAll()
+                //.logoutSuccessUrl("/api/auth/login.do").permitAll()
                 .invalidateHttpSession(true)
                 .deleteCookies("JSESSIONID")
                 .deleteCookies(WebMvcConfig.USER_UUID)
@@ -94,7 +95,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                 .sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)   // 스프링 시큐리티가 필요 시 생성 (default)
                 // 인증에 성공할 때 마다 세션 ID나 세션을 변경해서 발급해줌으로써
                 // 세션을 중간에서 가로채더라도 해당 세션이 유효하지 않게 하는 기능
-                .invalidSessionUrl("/application/login/login.html")    // 세션이 유효하지 않을 경우 이동 할 페이지
+                //.invalidSessionUrl("/application/login/login.html")    // 세션이 유효하지 않을 경우 이동 할 페이지
+                .invalidSessionUrl("/api/auth/login.do")    // 세션이 유효하지 않을 경우 이동 할 페이지
                 .sessionFixation().changeSessionId()        // changeSessionId : 새로운 세션 ID를 발급해서 전달(default)
                 // none            : 아무 동작 안함
                 // migrateSession  : 새로운 세션을 생성해서 전달 (속성값 유지)
@@ -102,6 +104,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                 .maximumSessions(20)                        // 최대 허용 가능 세션 수, -1인 경우 무제한 세션 허용
                 .maxSessionsPreventsLogin(true)             // 동시 로그인 차단, false 인 경우 기존 세션 만료(default)
                 .expiredUrl("/application/login/login.html")          // 세션이 만료된 경우 이동 할 페이지
+                //.expiredUrl("/api/auth/login.do")          // 세션이 만료된 경우 이동 할 페이지
                 .sessionRegistry(sessionRegistry())
 //                .and()
 //            .exceptionHandling()

BIN
src/main/resources/static/libs/fonts/H2MJRE.TTF


BIN
src/main/resources/static/libs/fonts/HYMJRE.TTF


BIN
src/main/resources/static/libs/fonts/batang.ttc


BIN
src/main/resources/static/libs/fonts/gulim.ttc


BIN
src/main/resources/static/libs/fonts/malgun.ttf


BIN
src/main/resources/static/libs/fonts/malgunbd.ttf


BIN
src/main/resources/static/libs/fonts/malgunsl.ttf