스프링 시큐리티 : 웹 애플리케이션 시큐리티 Security ignoring 설정 WebSecurity의 ignoring() 을 사용해서 시큐리티 필터 적용을 제외할 요청을 할 수 있다. @Override public void configure(WebSecurity web) throws Exception { web.ignoring().mvcMatchers("/favicon.ico"); } 스프링 부트가 제공하는 PathRequest를 사용해서 정적 자원 요청을 스프링 시큐리티 필터를 적용하지 않도록 설정한다. WebSecurity 설정이 아닌 HttpSecurity에 설정을 할 수 도 있다. @Override public void configure(WebSecurity web) throws Excepti..
스프링 시큐리티 : 아키텍쳐 SecurityContextHolder와 Authentication [reference](https://docs.spring.io/spring-security/site/docs/5.1.5.RELEASE/reference/htmlsingle/#core-comp onents) 구조 : SecurityContextHolder - SecurityContext - Authentication SecurityContextHolder SecurityContext 제공 기본전략으로 ThreadLocal을 사용한다. Global, Inheritable, ThereadLocal 등 전략을 선택할 수 있다. ThreadLocal : 간단하게 말하면 한 Thread 내에서 Resource를 공유하는..
스프링 시큐리티 : 폼인증 폼 인증 예제 살펴보기 Principal Java Security에 있는 인터페이스 인증된 사용자가 있다면, 해당 정보를 pricipal 인터페이스 타입으로 SpringMVC 핸들러에 받아서 사용할 수 있도록 해준다. arguments resolver 사용 예제 살표보기 예제 내용 미리보기 홈펨이지 / 인증된 사용자, 인증되지 않은 사용자 모두 접근이 가능 인증된 사용자가 로그인 한 경우에는 이름을 출력할 것 정보 /info 인증된 사용자, 인증되지 않은 사용자 모두 접근이 가능 대쉬보드 /dashboard 반드시 로그인 한 사용자만 접근 가능 인증하지 않은 사용자가 접근 시, 로그인 페이지로 이동한다. 어드민 /admin ADMIN권한을 가진 사용자만 접근 가능 인증하지 않은..
Rest API REST 아키텍쳐 아키텍쳐 스타일을 따르는 API RepresenTational State Transfer 아키텍쳐 스타일 제약조건들의 집합 6가지 제약 조건 Client-Server Stateless cache uniform interface layered system code-on-demand (optional) Client-Server, Stateless, cache, layerd system은 http만 사용해도 대부분 만족한다. Client-Server 클라이언트와 서버가 서로 의존하지 않고 별도로 진화할 수 있다. Stateless 클라이언트에서 서버로의 각 요청에는 그 요청을 이해하는데 필요한 정보가 포함되어야 한다. 서버에 저장된 환경정보를 이용해서 이득(서버에서 클라이언트..
- Total
- Today
- Yesterday