일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C/C++
- php
- VS2008
- API
- net
- phpmailer
- C#
- docker
- 기념일관리
- JavaScript
- 한 번만 실행
- GDI
- .net
- 자바스크립트
- 와이브로
- 설치제거
- Font
- ClickOnce
- PDA
- Antialiasing
- 블루투스 헤드셋
- crashlog
- 크래시로그
- M8200
- self-signed ssl
- EUC-KR
- 데이터 전달
- plcrashreporter
- MFC
- protobuf-c
- Today
- Total
목록2024/11/15 (10)
~☆~ 우하하!!~ 개발블로그
현재 diary 웹 프로그램은 세션 방식의 로그인을 사용하고 있어. 이번 포스트에서는 토큰 방식의 로그인으로 변경해보려고 해.세션 방식의 로그인은 세션이 유지되는 동안 로그인이 유지되는 특징이 있어. 세션이 끊어지면 로그인을 다시 해주어야 하지. 그래서 remember-me 라는 쿠키를 사용해서 세션이 끊어지더라도 다시 로그인없이 웹 프로그램을 사용할 수 있게 하는 방법을 사용했었지. ☞ SpringBoot: study.diary – Spring Security remember-me, logout 처리 재정리토큰 방식의 로그인은 로그인에 성공하면 토큰을 발급받는데, 이 토큰을 이용해서 사용자 인증을 확인하기 때문에 세션과는 무관해. 웹 프로그램에서는 이 토큰을 쿠키로 저장해두었다가 사용하는 방법으로 재사..
diary 프로그램에서 사용중인 로그인 폼은 Boot Strap 예시에서 가져온거야.가운데에 Remember me 라는 체크박스가 있는데, 이번 포스트에서는 이 체크박스에 기능을 연결해보려고 해.Remember me 라는 체크박스를 체크해두면 일단 한번 로그인한 후에 일정시간 동안에는 별도로 로그인을 하지 않고도 백그라운드에서 로그인처리되게 해서 매번 로그인하지 않고도 이용할 수 있어. 지금은 이 기능이 구현되어 있지 않기 때문에 로그인을 한 후에 브라우저를 종료시켰다가 다시 접속하면 다시 로그인을 해야 하지.Spring Security 는 RememberMe 기능을 포함하고 있는데, 우선 아래 코드를 볼께.SecurityConfig.java...@Beanpublic SecurityFilterChain ..
일기 프로그램에 무슨 역할이 필요있겠어? 개인이 로그인해서 일기를 작성하고, 내가 작성한 일기를 볼 수 있으면 되었지. 그런데, 가만 생각해보니 회원 관리 기능을 넣는다면 역할 관리가 필요하겠더라고.권한과 역할은 엄밀히 말해서 다른거야. 이 포스트에서는 권한이 아닌 역할(ROLE)을 관리하는 방법에 대해서 알아보는거야.그래서 이번 포스트에서는 diary 프로그램에 역할 관리 기능을 넣어보려고 해.역할 관리 기반 구조 작성기존의 사용자정보 저장 테이블인 member 는 아래와 같이 구성되어 있었어.역할 관리를 하기 위해서는 역할 정보를 넣어주어야 하니까, 아래와 같은 스크립트를 이용해서 역할 컬럼(role)을 추가했어.--PostgreSQL QueryALTER TABLE public."member" ADD..
diary 프로젝트에서 @RestController 애노테이션을 붙여서 작성한 클래스는 DiaryController 하나뿐이야.이 클래스에서 정의한 5개의 함수 리턴값을 보면 void 이거나 Diary, List 로 이루어져 있지.DiaryController.java@RestControllerpublic class DiaryController { private final DiaryService diaryService; @Autowired public DiaryController(DiaryService diaryService) { this.diaryService = diaryService; } // Create @PostMapping("/diary") pu..
오늘은 주고받을 데이터에 객체를 사용하는 방법에 대해서 알아볼까 해.Spring Boot: study.diary : json 형식으로 Rest API 에게 전송 포스트에서는 클라이언트에서 올린 json 형식의 데이터를 Map 형식으로 수신받았어.DiaryController.java// Update@PutMapping(value = "/diary/{id}")public void UpdateDiary(@PathVariable("id") Integer id, @RequestBody Map map) { System.out.println("id=" + id); System.out.println(map); diaryService.UpdateDiary(id, map.get("diary_date").t..
Spring Boot: study.diary : ajax 를 이용한 Rest API 호출로 view 와 data 분리 에서 최종적으로 만든 코드는 Rest API 를 호출할 때 application/x-www-form-urlencoded 형식의 content-type 으로 전송하는 예제였어.application/x-www-form-urlencoded 형식의 데이터는 _csrf=26906007-6d4e-4470-b76f-189dc827fa2d&_method=PUT&diary_date=2024-03-05&diary_content=4444 와 같이 key=value&key=value 형식으로 데이터가 이루어졌어.반면에 application/json 형식의 데이터는 {_csrf: ‘49543209-c640-4c..
일기 데이터를 수정하고 저장하는 editdiary.html 에 ajax JQuery 함수를 적용시켜볼께.이미 작성된 일기 데이터를 읽어들여 보여주고, 수정한 후에 “저장” 버튼을 누르면 form 태그의 action URL 로 전송되는 구조였어. 이때의 action URL 은 PUT method 인 /diary/{id} 이고 DiaryController 클래스에 구현되어 있지.DiaryController.java@RestControllerpublic class DiaryController {... // Update @PutMapping(value = "/diary/{id}") public RedirectView UpdateDiary(@PathVariable("id") Integer id, ..
diary 프로그램을 테스트하던 중에 내가 실수로 이메일 주소를 잘못 입력했었어.haha 가 아닌 hahaha 를 입력한거지.그런데, 웹주소에 login?error 라고만 표시되고 왜 로그인이 안되는건지에 대한 이유가 표시되질 않는거야.그래서 이번에는 로그인 실패시 사유를 표시하는 기능을 구현해보려고 해.실패 사유 확인실패 사유를 보여주려면 실패 사유부터 확인해야되겠지? 현재 로그인처리를 담당하고 있는 구현 코드가 LoginService 클래스에 아래와 같이 작성되어 있는 상태야.@Servicepublic class LoginService implements UserDetailsService { ... private final MemberMapper memberMapper; ... ..