Basic 토큰 인증 BasicAuthenticationFilter 기본적으로 로그인 페이지를 사용할 수 없는 상황에서 사용한다. (form login사용 불가능 한경우) SPA 페이지(react, angular, vue.. ) SPA의 경우 server에서 login form을 만들어서 ...
Form Login
Login DefaultLoginPageGeneratingFilter Get /login을 처리하며 별도의 로그인 페이지를 설정하지 않으면 제공되는 필터로 기본 login 폼을 제공한다. UsernamePasswordAuthenticationFilter POST /login을 처리한다. processingURL을 변경하면 주소를 바꿀...
Authentication
Login Login이 되었다는 것은 authenticated Filed가 true인 Authentication객체를 SecurityContext에 갖고 있는 상태를 말한다. Authentication이 AnnoymouseAuthenticationToken이라면 로그인하지 않은 사용자로 간주한다. 로그인 =...
Security Filter
서블릿 컨테이너 톰켓과 같은 웹 애플리케이션을 서블릿 컨테이너라고 부른다. 서블릿 컨테이너는 Filter와 Servlet로 구성되어 있다. 클라이언트로부터 요청이 threadlocal로 실행되어 들어오면 각 filter들을 차례대로 거친 후 dispatchServlet이 url에따라 실행될 메소드를 찾아 Controller, Method...
Spring Security, 인증과 권한
Spring Security 웹 사이트는 다양한 리소스와 유저들의 개인 정보를 가지고 있다. 이런 리소스를 보호하기 위해 일반적으로 웹 사이트는 두 가지 보안 정책을 설정해야 한다. 서버 리소스 유저들의 개인정보 이러한 보안 정책을 Support해주는 것이 Spring Security이다. S...
Cascade
Cascade란 영속성 전이를 말한다. Default Casacde는 아무것도 작성되지 않은 상태이고, PERSIST, MERGE, DETACH, REMOVE, REFRESH, ALL을 제공한다. PERSIST @Test @Transactional void cascadeTest(){ Member member = new Member(...
Persistence Context
Persistence Context(영속성 컨텍스트) Context는 프레임워크에서 주로 컨에티너들이 관리하고 있는 내용을 말하며 Persistence Context는 말그대로 Persistence Container가 관리하는 내용을 말한다. persistence Context의 가장 핵심은 javax.persistence의 EntityMa...
Relation
객체와 테이블간의 연관관계 객체의 연관관계는 단방향만 존재한다. 객체의 방향성을 가지고 있기 때문에 연관관계에서 양방향 관계는 서로 단방향 연관관계를 가지고 있는것을 말한다. DB는 방향성이 없다. FK하나로 두 테이블의 연관관계를 관리한다. 객체의 양방향 연관관계를 매핑할 때는 주인을 지정해야한다. 양방향 매핑 규칙 mapped...
Transaction
Transaction은 DB의 명령어들의 논리적인 묶음으로 ACID속성을 가진다. ACID Atomicity(원자성) 부분적 성공을 허용하지 않음 하나의 Transaction에서 RuntimeException이나 error가 발생되면 commit없이 모두 rollback된다. ...
Query Method
public interface UserRepository extends JpaRepository<User, Long> { List<User> findByName(String name); } Query Method란 위의 코드처럼 메소드의 이름으로 쿼리를 생성해주는 기능이다. Spring Data ...