본문 바로가기

전자정부표준프레임워크7

Eclipse에서 Kotlin 플러그인을 사용해서 Kotlin 프로그램 실행시 오류 발생 이전에 전자정부표준프레임워크에 Kotlin 플러그인을 설치하고, 예제 프로그램을 테스트 해보았었습니다. 그런데, 최근 다시 실행을 해보니 아래와 같은 오류가 발생했습니다. 'Launching Config - HelloKotlin.kt' has encountered a problem. Plug-in "org.eclipse.jdt.launching" was unable to instantiate class "org.eclipse.jdt.internal.launching.JavaSourceLookupDirector". Excepting a stackmap frame at branch target 50 Exception Details: Location: org/eclipse/debug/core/sourceloo.. 2021. 8. 9.
전자정부표준프레임워크 3.7 에서 CSRF 설정 방법 전자정부표준프레임워크에서는 Spring Security를 간편하게 설정할 수 있도록 간소화 설정을 제공하고 있습니다. 그런데 3.6 버전에서는 간소화 설정에서 CSRF 설정을 할수가 없어서 편법을 사용해야 했었습니다. 3.6버전에서의 CSRF 설정 방법을 다음글을 참조하세요. "전자정부표준프레임워크 3.6 Spring Security 설정 간소화에서 CSRF 설정하기" 전자정부표준프레임워크 3.7 에서는 CSRF 설정을 설정파일 내에서 할 수 있도록 바뀌었습니다. 기본설정은 CSRF를 사용하지 않는 것입니다. 설정파일은 /src/main/resources/egovframework/spring/com/context-security.xml 파일 입니다. 설정파일에 기본적으로 CSRF 설정부분은 포함되어 있지.. 2018. 6. 16.
전자정부표준프레임워크 Tomcat + jndi로 dataSource 사용하기 전자정부표준프레임워크에서 Tomcat 을 사용할때 dataSource를 Tomcat에 설정된 dataSource를 jndi 로 가져와서 사용하는 방법을 알아 봅니다. 이 예는 전자정부표준프레임워크 비즈니스 템플릿에 MySQL을 사용한것 입니다. 1. Tomcat의 server.xml 파일의 Global 리소스 영역에 데이터베이스 연결을 정의합니다. ... 2. Tomcat 의 context.xml 파일에 를 정의합니다. ... 3. 전자정부표준프레임워크의 context-datasource.xml 파일에 기존의 데이터소스를 주석 처리하고, jndi 데이터소스를 지정합니다. 이제 모든 설정이 완료되었습니다. DBCP 의 각 설정 항목들에 대해서는 "전자정부 표준프레임워크 - dataSource (DBCP) .. 2018. 4. 20.
전자정부표준프레임워크 Spring Security 사용시 로그인한 사용자정보에 추가정보 넣기 전자정부표준프레임워크에서 스프링 시큐리티가 적용되어 있을 때 로그인한 사용자의 정보를 얻기 위해서는 다음과 같이 사용합니다. import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.com.cmm.LoginVO; ... // 로그인 여부 확인 Boolean isLogin = EgovUserDetailsHelper.isAuthenticated(); // 로그인한 사용자 정보 LoginVO user = null; if(isLogin) { user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); } 로그인 후 세션에 저장되어 있던 Log.. 2018. 4. 20.
전자정부표준프레임워크 Controller에 AOP 적용하기 전자정부표준프레임워크 Business 템플릿에서 Controller에 AOP를 적용해 보겠습니다. 1. 컨트롤러에 적용될 테스트 클래스입니다. package com.tistory.pentode.log; public class TestAspect { public void callFromController() { System.out.println("컨트롤러에 적용된 Aspect 입니다."); } } 2. context-aspect.xml 파일과 context-syslogaop.xml 파일에 예외 처리 및 로그를 남기기 위한 AOP가 적용되어 있습니다. 하지만, 여기서는 컨트롤러에 대한 AOP 를 추가하더라도 동작하지 않습니다. 루트 컨텍스트에서는 서비스와 DAO 객체만 로딩하고, 컨트롤러 객체는 없기 때문입.. 2018. 4. 20.
전자정부표준프레임워크 3.6 Spring Security 설정 간소화에서 CSRF 설정하기 전자정부표준프레임워크 3.6 에서는 Spring Security가 권한 정보를 데이터베이스에서 가져오도록 커스터마이징 되어 있는데, 이로 인해 설정이 상당히 복잡해 집니다. 그래서 자체적인 설정을 만들어서 간소화 하고 있습니다. 여기에 CSRF(Cross-Site Request Forgery) 방어를 위해서 설정을 하려고 합니다. 그런데 간소화 설정에는 CSRF 관련 설정이 없는것 같습니다. 다음 예는 전자정부표준프레임워크 3.6.0 버전의 Enterprise Business 템플릿으로 테스트 하였습니다. 여기에는 Spring Security 3.2.4 버전이 사용되고 있습니다. 스프링 시큐리티를 xml 설정파일을 사용해서 설정할때는 CSRF가 기본적으로 비활성화 되어 있습니다. 보통 다음과 같이 활성화.. 2018. 4. 19.
log4jdbc-remix의 Custom SQL Formatter 만들기(SQL log 줄 바꿈) SQL Query 로그의 줄을 바꿔서 어느정도 예쁘게 출력하는 방법을 알아보겠습니다. log4jdbc-remix 를 사용해서 쿼리 로그를 만들게 됩니다. 테스트는 전자정부표준프레임워크 비즈니스 템플릿을 MySQL(실제는 MariaDB)와 연동한 소스에서 하였습니다. 전자정부표준프레임워크는 SQL 쿼리를 로그로 출력하기 위해서 log4jdbc를 사용하고 있습니다. log4jdbc-remix는 log4jdbc의 또다른 실험적인 분기로써 SQL 포맷뿐만 아니라 DB로부터 가져오는 값들을 추적할 수 있는 다양한 기능을 제공합니다. 실제 적용해본 결과로는 두가지 문제점이 있었습니다. 첫 번째는 쿼리 왼쪽에 여백을 주는 margin 프로퍼티를 사용하면 오류가 발생합니다. java.util.FormatFlagsCon.. 2018. 4. 19.