갑자기 시작한 프로젝트...
제목은 현재 music-diary-2인데 언제 바뀔지 모름미당
2인 이유는 처음에 망쳐서 다시만들어가지궁 ㅋㅋㅋ
왜하는지는 모름 .. 그냥 심심해서랑
인턴 다떨어지고.... 뭐라도 해야겠다..............
하고싶은 것:
일기장인데 음악 같이 넣을 수 있는것
일기 쓴날은 깃허브처럼 잔디도 찍히고
다른사람들 쓴거 날짜별로 검색도 하고 등등
하고싶은거 다 추가
1일차
여기를 참고해서 일단 게시판?? 을 만들었다.
dto, service, controller 다 만들었음요
그리고 나서 여기를 참고해서 스프링 시큐리티를 이용해
로그인, 회원가입을 만들었다.
문제는 처음에 localhost:8080으로 들어가니
이런 창이 나왔고 난 처음에 admin@example.com 이라는 저 블로그를 따라하면서 만든 어드민 계정으로 로그인 하는것인줄알고 계속했는데 자격증명에 실패했대나 뭐래나.. 하여튼 저건
Username=user, Password=실행후콘솔창에찍히는시큐리티가준엄청길고복잡한암호 를 넣으면 사라지는 것이었다..
이걸로 괜히 또 시간 잡아먹고
이후에 로그인 하고 글쓰게 하려고 POST를 하는데 진짜 계속 안되서 보니 그것은 시큐리티가 막아둥(?) 것이었고,
([CSRF토큰을 함께 보내지 않은 경우] Spring Security 4.x 버전부터 명시적으로 disabled하지 않는 한 CSRF필터가 자동 활성화 됩니다. 따라서 토큰 첨부가 필요합니다. 라고 한다.)
여기를 보고 해결했다. SecurityConfig에 csrf().disable() 를 추가했고 post되는 form마다
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}">
이것을 추가했당 그랫더니 됏다. 야호호
그리고나서 글 작성할때 로그인한 사용자의 이메일을 불러오고 시퍼서 그걸 했다.
진짜 개고생했는데 이유는 내 지식이 부족해서였고
컨트롤러에서 모델을 만들때 저장되어 있는 이름을 불러와서 전달해주면 되는 것이었다..
String username = principal.getName();
model.addAttribute("username", username); 이걸로
그리고 받을때는
작성자 : <input type="text" name="writer" th:value="${username}" readonly="readonly">
이렇게 받았다.
여기를 참고했다.
이후에 레퍼지토리에 findAllByWriter 메소드도 추가해서 마이페이지에는 내가 작성한 글만 볼수 있게 했다.
쓰고나니 별거없는데 왜 이틀이나 걸렸는지 모르겟다..
다 내가 부족한 탓이지 머
그리고 노트북이 너무 느려서 프로젝트 실행하는데 넘 오래걸린다 그래서 그렇다 ^^~
아 중간에 깃때문에(여기 참고해서 해결) 또 좀 헤메고..머 등등
3일차에 써서 지송합니다
끝.
'PROJECT' 카테고리의 다른 글
갑시프 4 일차 (0) | 2021.10.29 |
---|---|
갑시프 3 일차 (0) | 2021.10.28 |
Spring Framework·Oracle 기반의 취미 모임 서비스 웹사이트 (0) | 2021.06.16 |
국민내일배움카드 훈련과정 지도 정보 제공 웹사이트 (1) | 2021.05.21 |
디지털 영상처리 웹페이지 (0) | 2021.05.03 |