Form Login 인증과 Form Login 인증 필터인 UsernamePasswordAuthenticationFilter 사용자가 GET 방식으로 home url로 이동하려고 하면 인증이 되지 않았기 때문에 서버에서는 로그인 페이지로 리다이렉트 시킨다. 기본적으로 스프링 부트 시큐리티가 제공하는 로그인 페이지가 나타나지만 이 페이지는 별도로 만들 수도 있다. 사용자는 POST 방식으로 username과 password를 입력해서 서버에 전송하고 서버에서는 세션을 생성하고 Authentication 타입 클래스의 인증 객체를 생성, SecurityContext에 세션을 저장한다. 이후에 클라이언트가 다시 home url로 이동할 때 세션에 저장된 인증 토큰으로 접근하게 되고 서버는 세션에 저장된 인증 ..
앞서 시큐리티의 인증과 인가에 대해서 이야기했다. 스프링 시큐리티에서는 세부적인 보안 기능을 설정할 수 있는 인증과 인가 API를 제공한다. 먼저 스프링 시큐리티 의존성을 추가해주고 스프링 시큐리티의 웹 보안 기능을 초기화 하고 설정해야 한다. 의존성 추가 (maven) org.springframework.boot spring-boot-starter-security 스프링 시큐리티에 의존성을 추가하고 서버를 기동하면 스프링 시큐리티의 초기화 작업 및 보안 설정이 이루어진다. 그런데 기본적인 보안 기능 외에는 만드려는 애플리케이션에서 세부적이고 추가적인 보안 기능이 필요하기 때문에 스프링 시큐리티에서 제공하는 WebSecurityConfigureAdapter를 상속받아서 세부적인 보안이나 기능을 설정할 수..
스프링 시큐리티에 대해 공부하기 전에 용어에 대한 가벼운 정리를 한다. 여러 동영상 강의 또는 블로그 그리고 책에서 내용을 그냥 내가 생각하고 이해한 대로 정리한다. 미래에 또 구글에 검색할 나를 위해 정리. 인증(Authentication)과 인가(Authoriz) 인증이란 사용자가 누구인지 확인하는 과정이다. 즉 신원을 확인하는 거다. 너 누구야?라는 의미 예가 좀 적절하지 않더라도 예를 들어서 설명을 해보자면 보안이 아주 강력한 회사에 다닌다고 생각해보자. 이 회사는 보안이 아주 강력해서 출근할 때는 물론이고 서버실을 사용할 때는 과장님 이상만 들어갈 수 있다고 한다. 배찌 사원은 오늘 하루도 즐겁게 회사에 출근했다. 회사에서 일도 하고 커피도 먹고 화장실도 가고 업무를 보다가.. 갑자기 급하게 회..
간단하게 요청테스트만 해보려고 했는데 아래와 같은 에러 발생 사실 요청 테스트는 TEST 코드로 확인할 수도 있지만 잘 몰라서...공부 필요 어쨌든 오류 이유는 스프링부트에서 컨테이너가 최초 기동될 때 자동으로 autoconfigure 파일들을 읽는데 DB의 url이나 id, password, drive-class-name 같은게 설정이 안되있어서 그렇다. Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider ..
간단한 샘플 파일을 서버에 올려놓고 다운로드 하기는 그렇고 프로젝트 resource 에 넣고 다운로드 하는 방법을 찾던 중 아주 고마운 글을 발견 http://june0313.github.io/2018/08/11/read-resource-file-on-spring/ 스프링 프로젝트에서 리소스 파일 읽기 리소스(Resource)Maven이나 Gradle을 사용하여 스프링 프로젝트를 만들게 되면 src/main/resources 디렉토리에 리소스 파일을 저장하게 되어있습니다. *.java 파일처럼 컴파일 대상이 되는 소스파일이 아닌 june0313.github.io 그런데 이렇게 하고 바로 war 패키징해서 올리면 다운이 안된다. 그럴 때는 이걸 참고... https://wedul.site/431 Sprin..
김영한님 스프링 MVC 2편 강의 Form 전송 객체 분리편을 듣다가 누군가 질문 올린걸 올려본다. 실제로 나도 실무에서 개발할 때 클라이언트에서 보내주는 값을 그냥 객체를 만들지 않고 HashMap 으로 쓰는데 일정이 바빠서 혹은 그냥 이걸로 다 받아지니까 하고 쓰고있으면서도 아닌 것 같다는 생각이 있었는데 영한님이 답변해 준걸 보고 앞으로는 객체를 위주로 써야겠다고 생각했다. 질문자님의 질문은 간략히 아래와 같았다. 1. 객체 vs Map 둘 중에 어느걸 써야 하나요? 답변으로는 Map을 사용하는 경우는 @Validate를 사용하기 어렵다. 객체와 Map 중에서는 객체를 사용하는 것이 좋다. 왜냐하면 Map을 사용하면 클래스를 만들지 않아서 편리한 점이 있지만 어떤 데이터가 들어오는지 모르니 유지보수..
resource.getFile() expects the resource itself to be available on the file system, i.e. it can't be nested inside a jar file. This is why it works when you run your application in STS but doesn't work once you've built your application and run it from the executable jar. Rather than using getFile() to access the resource's contents, I'd recommend using getInputStream() instead. That'll allow you..
API 요청시 응답 값 { "response": { "service": { "name": "address", "version": "2.0", "operation": "getAddress", "time": "5(ms)" }, "status": "OK", "input": { "point": { "x": "126.978275264", "y": "37.566642192" }, "crs": "epsg:4326", "type": "ROAD" }, "result": [ { "zipcode": "04524", "type": "road", "text": "서울특별시 중구 세종대로 110 (태평로1가,서울특별시 청사)", "structure": { "level0": "대한민국", "level1": "서울특별시", "lev..
- Total
- Today
- Yesterday
- LocalDate
- Bash tab
- Linux
- localtime
- springboot
- window
- mybatis config
- JavaScript
- LocalDateTime
- config-location
- input
- Github Status
- docker
- svn
- 베리 심플
- mybatis
- Spring
- 오라클
- jQuery
- 북리뷰
- maven
- Spring Security
- oracle
- k8s
- Kotlin
- intellij
- elasticsearch
- Mac
- rocky
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |