1. 바로 전 포스팅 시작 페이지(Landing page) 사용하기에서 설정한 내용을 가지고 설명한다. package pe.pilseong.springsecurity.config; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.anno..
1. 일반적인 홈페이지는 지난 포스트처럼 첫화면부터 바로 로그인 페이지가 나오지 않는다. 1-1 보통은 첫페이지를 볼 수 있고 거기서 로그인을 요청하거나 원하는 링크를 눌러 인증 페이지로 이동한다. 1-2 이 포스트는 첫 페이지에 접근 후 로그인을 사용하도록 변경한 내용이다. 2. 홈페이지 진입 시 Landing 페이지를 사용도록 Security Config에 설정한다. 2-0 HttpRequest에 대한 설정이므로 HttpSecurity을 다루는 메소드를 override한다. 2-1 landing페이지의 접근 권한을 모두에게 주고 2-1-1 아래 소스의 "/"는 랜딩페이지 요청 url이고 모든 사람들에게 사용이 허용된다. 2-2 접근 제어할 페이지에 접근 권한을 지정한다. 2-2-0 접근 제어는 ant..
1. 스프링 security는 사용자와 권한 정보에 접근할 수 있는 Tag lib를 제공한다. 1-1 이 tag lib로 principal 객체를 접근할 수 있고 다양한 정보를 참조할 수 있다. 1-2 사용하는 방법은 1-2-1 spring security taglibs를 dependency에 추가한다. org.springframework.security spring-security-taglibs ${springsecurity.version} 1-2-2 사용할 jsp페이지에 taglib include한다. 1-2-2-1 로그인 후에 접근했던 페이지가 열린 것이라고 가정한다. 1-2-3 페이지에서 필요한 곳에 테그를 사용한다. 1-2-3-1 아래의 소스를 보면 username, authories라는 pri..
1. 스프링 Security는 기본적으로 CSRF 공격을 방지하는 기능을 지원하고 있다. 1-1 CSRF (Cross-site Request Forgery)는 1-1-1 사이트에 로그인한 유저처럼 행세하여 데이터나 금전적인 이득을 얻는 사이버 공격이다. 1-1-2 예를 들면 은행사이트에 로그인한 유저의 session으로 엉뚱한 사람에게 송금을 하거나 1-1-3 쇼핑사이트에서 사용자가 구매한 것처럼 물건을 구매해 엉뚱한 곳으로 보내는 식이다. 1-2 따라서 웹사이트는 유저와 통신할 때 페이지에 확인용으로 token정보를 주고 받아 진짜 유저인지 확인한다. 1-2-1 즉 모든 웹페이지에 추가적인 인증 정보나 토큰을 붙인다. 1-2-2 추가적인 요청이 들어온 경우 요청에서 token을 검증하여 실제 유저인지를..
1. Spring security의 Logout은 logout 시키고 login 페이지로 돌아간다. 1-0 세부적으로 설명하면, 1-1 Http session을 무효화하고 session cookies를 삭제한다. 1-2 사용자를 로그인 화면으로 전환시킨다. 1-3 /logout 뒤에 ?logout parameter가 붙여진다. 2. 구현 순서는 2-1 Security Config에 Logout에 대한 기능 설정을 하고 2-2 jsp 페이지에 logout 버튼이나 링크를 추가한다. 2-3 로그인 화면 jsp에 logout 메시지를 추가한다. 3. Security Config에 Logout 설정하기 3-1 마지막 줄에 보면 logout().permitAll() 이 지정되어 있다. 3-1-1 logout()은..
1. 이 포스트는 Spring : Web MVC + Security 시리즈의 연속이다. 2. 이 포스트에서는 아래 빨간 박스에 있는 로그인 화면에 대한 UI를 사용자가 작성하도록 하는 것이다. 3. 작업을 나열하면 3-1 Security 설정에서 사용자 로그인를 참조하도록 설정하고 3-1-1 configure(AuthenticationManagerBuilder)는 지난 포스트에서 사용자 로그인 방식을 설정하는데 사용했다. 3-1-1-1 즉, in Memory, Database, LDAP 같은 기술로 부터 로그인을 사용하도록 지정할 수 있다. 3-1-2 configure(HttpSecurity)는 프로그램 웹경로와 로그인, 로그아웃에 대한 보안을 설정하는데 사용된다. 3-1-2-1 따라서 사용자 로그인 화..
1. 이젠 xml 설정 같은 건 사용하지 않는다. Spring WebMVC with Java Config(no XML) 2. web.xml을 사용하지 않으려면 maven pom에 maven-war-plugin이 있어야 한다. 2-1 org.apache.maven.archetype webapp 1.4를 사용하면 기본적으로 포함되어 있어 설정이 불필요하다. 2-2 지난 번에도 언급했지만 .settings 폴더의 xml파일에 sevlet 버전을 servlet버전과 맞추는 건 필요하다. 3. Web MVC에 Java Config 사용하기 3-1 Spring Dispatcher Servlet Initializer는 web.xml의 기능을 대체한다. 3-1-1 스프링의 Web MVC 초기화를 위한 클래스이다. 3-..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- one-to-many
- one-to-one
- mapping
- Validation
- Many-To-Many
- RestTemplate
- 자바
- crud
- 로그인
- Spring Security
- 외부파일
- 상속
- 설정하기
- Angular
- Security
- hibernate
- form
- MYSQL
- Spring
- 하이버네이트
- 설정
- 매핑
- WebMvc
- 스프링
- XML
- spring boot
- login
- Rest
- 스프링부트
- jsp