JWT와 OAuth를 한 번에 접하게 되면서 두 가지의 개념을 명확하게 정리하고 싶어졌다. 쉽게 표현하면 JWT는 토큰의 종류이고, OAuth는 토큰을 발급하고 인증하는 오픈 스탠다드 프로토콜이다. 기존의 /outh/token endpoint에 의해 발급되는 모든 토큰은 일종의 OAuth 프레임워크에 의해 관리된다고 볼 수 있다. { "toke...
[개발자 블로그] Spring Security 개요 및 동작 과정
실습 코드 Spring Security Spring은 매우 막강한 인증과 인가 권한을 가진 프레임워크이다. Spring Security는 Filter 기반으로 동작한다. Spring Security는 상당히 많은 Filter들을 기반으로 Filter체인을 구성한다. Filter기반이 아닌 Interceptor로는 불가능한가...
[Java] String & StringBuffer & StringBuilder
Java에서 문자열을 다루는 대표적인 클랫스로 String, StringBuffer, StringBuilder가 있습니다. 연산이 많지 않을때는 어떤 클래스를 사용하더라도 이슈가 발생할 가능성은 거의 없지만 연산 횟수가 많아지거나 멀티쓰레드를 사용하는 경우라면 각 클래스의 특징을 이해하고 적절한 클래스를 사용해야 합니다. String vs Strin...
[Java] OOP개념 및 특징
객체지향 프로그래밍(OOP: Object-Oriented Programming) 프로그래밍에서 필요한 데이터를 추상화 시켜 객체를 만들고, 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법론 예를 들어 C++과 Java가 있다. OOP의 장단점 OOP의 장점 1) 재사용성이 높다 남이 만든 클래스를 가져와서 사용할 수 있...
[개발자 블로그] Logout With Spring Security
1) Logout버튼을 누르면 /logout으로 POST방식으로 보냄. 그러면 spring에 의해 logout절차가 이뤄짐(사용자가 사용했던 쿠키 및 로그인에 관련된 정보를 제거함) 2) 성공적으로 logout됐을때 /logout?logout으로 GET방식으로 리다이렉트 시켜준다. 3) security-context.xml에 logout에 관련...
[개발자 블로그] Login With Spring Security
Spring Security spring security는 filter에 의해 구현됨(오고가는 request response를 가로채서 필터에서 거르는식으로 구현됨) 1) filter패키지 및 filter 추가 2) 관련 라이브러리 추가 config, web, core 3) web.xml에 springSecurityFilter...
[개발자 블로그] Custom Login Form With Spring Security
1) security-context.xml에서 security탭에서 form-login추가 login-page -> 로그인이 필요한 경우에 /login으로 리다이렉트가 이뤄짐 authentication-failure-url -> 인증 실패시 /login?error로 리다이렉트가 이뤄짐 2) LoginController추가 ...
[개발자 블로그] Spring Quartz
Spring-Quartz 주기적으로 특정 작업을 반복하여 스케줄링을 하기 위해 사용한다.(매 1시간 마다 또는 정해진 시간에 특정 프로세스를 수행) Spring을 활용한 Quartz 사용법 1) Dependency추가 ※ spring-context-support는 QuartzJobBean을 상속받기 위해 추가해줘야함 2) Qua...
[개발자 블로그] MyBatis의 활용
MyBatis의 활용 #{}과 ${}의 차이 #{}: preparedStatement ${}: statement https://madplay.github.io/post/difference-between-dollar-sign-and-sharp-sign-in-mybatis <bind&g...
[개발자 블로그] MyBatis와 전통적인 JDBC프로그램의 비교
MyBatis와 전통적인 JDBC프로그램의 비교 mybatis-spring이라는 라이브러리를 통해서 쉽게 연동 가능 Architecture MyBatis설정 1) 라이브러리 추가 spring-jdbc/spring-tx : 스프링에서 DB처리와 트랜잭션 처리(해당 라이브러리들은 MyBatis와 무관하게 보이지만 추가하지 않은 경우에...