- 주석이라는 사전적의미가 있으며 컴파일 혹은 런타임에 해석된다 - 메타데이터(실제데이터가 아닌 Data를 위한 데이터) 라고도 불리고 JDK5부터 등장 용도 - @Override 어노테이션처럼 컴파일러를 위한 정보를 제공하기 위한 용도 - 스프링 프레임워크의 @Controller 어노테이션처럼 런타임에 리플렉션을 이용해서 특수 기능을 추가하기 위한 용도 - 컴파일 과정에 어노테이션 정보로부터 코드를 생성하기 위한 용도 자바 리플렉션: 다른언어에는 존재하지 않는 특별한 기능, 컴파일 시간이 아닌 실행시간에 동적으로 특정 클래스의 정보를 객체를 통해 분석 및 추출해내는 프로그래밍 기법 개인적으로 사용해본 스프링 부트에서의 Annotations (더 많은걸 알고싶으면 다음의 글을 추천한다. 이동) Confi..
프론트엔드 로그인에 이어 백엔드에서의 인증을 구현해보겠다. 사용 툴 및 언어 : 이동 개념 : 이동 앱 생성 : 이동 프론트에서 받은 accessToken과 userID를 가지고 백엔드에서 정상적인 데이터인지 다시한번 확인할 것이다. https://developers.facebook.com/docs/apis-and-sdks url로 가보면 자세히 써있다. 그 중에서 타사 SDK를 가보면 Java에서 지공하는 sdk들이 있다. 그 중에서 RestFB를 사용할 것인데 간단 구현이 가능하기 때문에 채택했다. https://restfb.com 역시나 Document를 가서 하라는대로 하면 구현이 쉽다. 개발자라면 무조건 google 보다는 Document를 통해 개발을 하려는 습관을 가지는 것도 나쁘지 않은것 ..
CSRF란? 사이트 간 요청 위조(Cross-site Request Forgery) 웹 어플리케이션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹 페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법 이 공격의 예방법 1. XSS에 나오는 모든 예방법을 적용합니다. - 결론적으로 자바스크립트가 실행되면 해당페이지에 csrf 토큰이 있을경우 해당 값을 추출해서 요청할 수 있습니다. 2. csrf 토큰을 사용합니다. 3. 요청이 Accept:image/webp,image/*,*/* 같이 페이지 요청이 아닌경우 거부합니다. (다만 csrf 토큰이 있으면 이것을 별도로 처리하지 않아도됩니다.) 주의점 csrf 토큰이 요청을 완료할 때까지 만료되..
Rest API를 위한 서버단 언어를 자바를 사용하면서 로그인 부분에 대한 처리를 어떻게 해야하나 공부를하다가 필터와 인터셉터에 대해 알게되었다. 공통점Controller로 들어가는 요청을 가로채 특정 작업을 하기위한 용도로 사용 차이점 스프링에서 reqeust가 어떻게 흘러다니는지가 나와있는 아래 그림을 보면 좀 이해가 한결 수월해진다. 보통 인터셉터나 필터나 컨트롤러 들어가기전에 작업을 처리 하기 위해 사용하므로 별반 차이 없어 보일 수 있으나 위의 라이프사이클 그림을 보면 호출되는 시점이 다르다는걸 알 수 있다 인터셉터.- preHandle() : 컨트롤러 들어가기 전- postHanle() : 컨트롤러 들어갔다 나온후 뷰로 보내기전- afterCompletion() : 뷰까지 끝나고 나서 필터. ..
- Total
- Today
- Yesterday
- JPA
- Python
- 페이스북 로그인
- data table component
- Java
- data component module
- React-router
- data grid component
- facebook login
- data gird component
- mobx
- data component
- 파이썬
- MySQL
- python3
- Redux
- CSS
- Spring Boot
- https://www.tistory.com/auth/logout/
- Angular
- Router
- JSON
- jQuery
- JavaScript
- angular router
- localStorage
- react
- Spring
- 파이썬3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |