반응형 Spring16 spring security 설정과 Authentication 객체 이번게시글에서는 spring security 설정방법을 정리해보겠습니다. spring security의 설정 파일입니다. @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth .inMemoryAuthentication() .withUser( User.withDefaultPasswordEncoder() .username("user") .password("user123") .roles("USER") ).withUser( User.withDefa.. 2021. 4. 1. spring security란 이번 게시글에서는 spring security에 대해 알아보겠습니다. 1. 스프링 시큐리티란? 스프링 시큐리티란 인증, 인가를 담당하는 프레임워크입니다. Interceptor단이나, aop를 만들어 session을 직접 확인한 후 인증, 인가를 처리하는 경우도 있지만 스프링 시큐리티에서는 해당 작업을 편리하게 할 수 있도록 지원해줍니다. 2. 스프링 시큐리티 특징 filter 기반으로 동작합니다.(체인방식으로 여러개 추가 가능) 어노테이션을 통해 간단한 설정이 가능합니다 기본적으로는 세션 & 쿠키방식으로 인증됩니다. dispatcher servlet 이전에 처리됩니다. 3. 스프링 시큐리티 용어 Authenticate(인증) : 현재 유저가 누구인지 확인 Authorize(인가) : 현재 유저가 요청한 .. 2021. 3. 31. logback 로그 설정하기(에러로그 따로 관리하기) 이번 게시글에서는 logback.xml에서 에러로그를 따로 관리하는 방법을 정리해보겠습니다. 에러로그는 appender 설정에 filter 태그를 추가해 로그 레벨별 로그를 따로 관리 할 수 있습니다. 에러로그를 따로 관리하지 않는경우 에러가 발생하는경우 버벅거리는 큰 로그파일을 열어서 에러를 찾아야하므로 꼭 설정해주도록 합니다. (file, encoder, rollingPolicy 설정방법은 지난 게시글에 정리했습니다.) logback 로그 설정하기(파일 저장) 이번 게시글에서는 logback 설정을 통해 파일로 로그를 저장하는 방법을 정리해보겠습니다. 기본적인 방식은 저번게시글과 동일합니다.(appender로 로그이벤트설정, root, logger에서 가져다 사용) sprin frozenpond.ti.. 2021. 3. 23. logback 로그 설정하기(파일 저장) 이번 게시글에서는 logback 설정을 통해 파일로 로그를 저장하는 방법을 정리해보겠습니다. 기본적인 방식은 저번게시글과 동일합니다.(appender로 로그이벤트설정, root, logger에서 가져다 사용) spring Slf4J, logback 로그 설정하기(콘솔창 출력) 이번 게시글에서는 spring boot에서 Log를 설정하는 방법을 정리해보겠습니다. 스프링에서는 Slf4j 인터페이스를 이용하여 로깅처리를 합니다. 1. Slf4j란? Slf4j 는 Simple Logging Facade For Java의 약자로 다.. frozenpond.tistory.com 1. logback.xml ./application_log/application.log %d{yyyyMMdd HH:mm:ss.SSS} [%.. 2021. 3. 18. spring Slf4J, logback 로그 설정하기(콘솔창 출력) 이번 게시글에서는 spring boot에서 Log를 설정하는 방법을 정리해보겠습니다. 스프링에서는 Slf4j 인터페이스를 이용하여 로깅처리를 합니다. 1. Slf4j란? Slf4j 는 Simple Logging Facade For Java의 약자로 다양한 Logging Framework에 대한 인터페이스 입니다. Logging FrameWork는 log4j, log4j2, logback 등 다양하지만 @Slf4j라는 어노테이션을 통해 log객체를 만들어 사용할 수 있으며 LogginFrameWork(구현체)가 변경되더라도 Slf4j덕분에 구현체에 종속되지 않고 사용 가능합니다. lombok을 추가하시면 바로 사용 가능하며 Spring에서 기본적으로 채택한 logging Framework인 Logback을.. 2021. 3. 17. log4jdbc2를 사용해 쿼리 로그 설정하기(mybatis 테이블 로그) 이번 게시글에서는 log4jdbc를 활용한 쿼리로그 출력방법을 정리해보겠습니다. (2021년 12월 가장 핫한 log4j입니다. log4j JVM 설정법 숙지해서 보안이슈가 발생하지 않도록 주의합니다.) 1. pom.xml 에 의존성 추가 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 log4jdbc관련 의존성을 추가해줍니다. 2. application.properties 변경 #spring.datasource.driverClassName=org.h2.Driver #spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driverClassName=net.sf.log4jdbc.sql... 2021. 3. 17. [spring] mapper 어노테이션을 통한 springboot, mybatis 세팅하기 spring boot로 프로젝트를 생성, Mybatis 연동하는 예제입니다. 스프링에서 mybatis를 사용하는 방식은 SqlSession, SqlSessionTemplate을 설정하고 selectOne(maper네임스페이스.id, parameter) 등의 메서드를 통해 쿼리를 사용하였지만. 스프링부트, mybatis 3.0이상에서는 sqlSessionTemplate을 설정하고, selectone 메서드를 사용하지 않고, 복잡한 ~~~context.xml파일이 없어도 @mapper 어노테이션을 이용해 메서드명과 xml 파일의 id를 매핑시켜 편리하게 사용 할 수 있습니다. 초기 세팅 방법입니다. 1. application.property spring.datasource.driver-class-name=o.. 2021. 3. 15. Junit5(jupiter) 테스트코드 작성법(@SpringBootTest) 이번게시글에서는 @SpringBootTest 어노테이션을 활용한 통합테스트(상태기반 테스트) 방법을 알아보겠습니다. 어플리케이션의 모든 Bean을 로드하기에 실제 운영환경과 비슷한 환경이라는 장점이 있지만 시간, 비용의 Cost가 크다는 단점이 있습니다. @SpringBootTest를 사용한 플로우검증을 할때는 MockBean을 사용하기 보다는 실제 DB까지 확인하는 경우가 많습니다.(상태기반 테스트) @MockBean이나 @Mock 어노테이션은 @SpringBootTest보다는 @WebMvcTest를 사용하거나 Mock객체를 활용하여 직접 DI 하는 경우에 사용하는것이 좋습니다.(가짜객체를 사용할꺼라면 @SpringBootTest 어노테이션을 사용하여 모든 환경을 잡는것은 시간적 비용이 너무 큽니다.).. 2021. 3. 14. Junit5(Juptier) Service 테스트코드 작성법(Mock, MockBean 차이점 확인) 서비스코드 테스트작성법과 Mock, MockBean의 차이를 정리합니다. Mock vs MockBean 공통점 둘다 가짜객체이며 테스트스텁의 한 종류입니다. given, when. verify 등을 사용하여 행위를 테스트합니다. 차이점 MockBean은 가짜 Bean을 스프링에 등록해달라는 의미입니다. 스프링 컨테이너가 기존에 갖고있는 Bean객체는 MockBean객체로 치환되어 DI에 사용됩니다. Mock은 가짜객체를 만드는데 스프링빈에 등록이 안되는 객체입니다. 스프링 컨테이너가 DI를 하는 방식이 아니라 객체생성시 생성자에 Mock객체를 직접 주입해줍니다. 생성자 주입을 사용해야 편하게 사용 가능합니다 스프링을 띄우지 않으므로 MockBean을 사용할때보다 빠릅니다. 1. pom.xml org.sp.. 2021. 3. 13. 이전 1 2 다음 반응형