PROJECT

갑시프 1-2 일차

마이구미2 2021. 10. 28. 23:42

갑자기 시작한 프로젝트...

제목은 현재 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일차에 써서 지송합니다

 

끝.