본문 바로가기
메타 데이터에 csrf 토큰값이 없을 때 cannot read properties of undefined (reading 'tolowercase')와 같은 오류를 발생시킨다. 이는 AJAX로 서버 요청을 할 때, undefined나 null인 객체가 있어서 발생한다. html 내부에 메타 데이터가 있는지 확인한다. 서버로 요청할 때, 헤더에 값을 넣어주고 있는지 확인한다. 2024. 3. 5.
PCMOA - 로그인 금일(24년 3월 3일)까지 완성하기로 했던 로그인 UI와 기능을 모두 구현하였다. Spring Security 의존성 추가 단순한 로그인보다는 Security가 동작하는 빈을 주입 받아서 스프링부트가 이를 실행시켜 보다 안전한 로그인으로써 관리하기 위해 사용하게 되었다. 완성된 모습 메인 페이지의 모습은 아직 변함이 없다. 관리자 페이지를 먼저 생성 후에 상품 ERD를 설계하고 진행하면 얼핏 모습을 갖출 수 있을 것이다. 계획했던 초안대로 회원 로그인과 비회원 주문 부분을 나누었다. 제이쿼리를 사용해서 토글할 수 있도록 했고 비회원 주문의 경우에는 기능 구현이 되어있지 않다. input 태그의 required를 추가해서 아무것도 작성되지 않으면 다음과 같이 입력란을 작성하도록 유도했다. security.. 2024. 3. 3.
403 에러, 스택 오버플로우, ... 회원가입 일부 로직에서 서버에 폼을 요청하지 않고 일부분만 요청하기 위해 구식 기술이긴 하지만 AJAX 비동기 통신을 사용하여 진행하려고 한다. 통신 과정에 있어서 몇 가지 에러를 만났고 해결 과정을 기록해두려고 한다. 403 Forbidden AJAX 요청 시에 403 Forbidden이 발생했다. 나는 스프링 시큐리티를 사용하고 있어 해당 url에 대한 접근 권한을 모두 허용해주었지만 지속해서 403 에러가 발생했었다. 그래서 더 찾아보니 csrf 토큰이 누락되고 있어서 발생하고 있었고 해당 부분을 disable 해주려 했지만 내 통신 방식이 현재 SSR로 구성되어 있기 때문에 서버 세션을 이용해야해서 해당 토큰이 필수라는 생각이 들었다. JWT 토큰 방식으로 세션을 이용하지 않았다면 disable해.. 2024. 3. 3.
PCMOA - 회원가입 백엔드 영역에서만 다루다가 프론트엔드 영역까지 하려고 하니 모르는 부분도 많고 이유를 찾는데도 시간이 좀 많이 걸렸다. 아직 한 두 가지 더 추가해야하지만 오늘 내로 그 부분은 마무리할 예정이어서 해당 게시글에 더 추가해둘 것이다. ERD ERD라고 하기 좀 거시기하지만 맨 처음부터 설계하고 하려고 했는데 도무지 생각이 안나서 그냥 작업 전에 구상을 했다. 간단히 입력 받을 폼에는 pcmoa_users 테이블에 해당하는 저 컬럼들을 입력받도록 만들었다. 훗날 배송지 부분에서 사용자가 여러 배송지를 등록할 수도 있기 때문에 1:N 관계로 구상해두었다. 완성된 모습 현재 default url인 /의 경우에 앞으로 상품이 보여질 메인 페이지라고 볼 수 있다. layout을 나눠 놓아서 header, body,.. 2024. 3. 3.
css 적용과 불러오지 못할 경우 생각보다 단순한 부분인데 쉽게 찾아내질 못해서 오랜 시간을 허비했다. 다음에도 이런 경우가 생긴다면 잊지 않기 위해 기록해두려고 한다. css 적용 나만 그런지는 모르겠지만 thymeleaf-layout-dialect 의존성을 주입 받으면서 css를 어떻게 적용해줘야할지 감이 하나도 잡히지 않았었다. layout을 나누기 전엔 헤더 부분에 link를 삽입했었는데 layout을 나누니 헤더 부분에 어떻게 추가해줘야할지 몰랐었다. 생각보다 단순했다. fragment 코드를 써주면 해결됐다. 이렇게 추가해서 css 파일을 불러오는 것은 해결할 수 있었다. css 파일이 불러와지지 않았다 두번째로 부딪혔던 것은 css 파일이 불러와지지 않았다. 그래서 생각한 것이 현재 나는 spring security를 적용 .. 2024. 3. 3.
데이터베이스 charset 값으로 인한 문제 SQL Error: 1366, SQLState: 22007 incorrect string value: '\xec\xb5\x9c\xec\x8a\xb9... JPA를 통해서 데이터베이스 유저 테이블을 생성하는 도중 해당 에러코드를 뱉어냈다. 부가적으로 다음과 같은 것을 확인할 수 있는데 이는 인코딩 과정에 저장이 문제 생겼다는 뜻이다. 실제로도 여기엔 없지만 에러를 가르키는 곳이 'name'이었고 name에는 한글이 들어가고 있었다. 일일이 바꿔줬다 처음엔 방법을 몰라서 일일이 컬럼 하나하나 수정을 했다. 한 번도 이런 일이 없었다 생각했는데 다시 생각해보니 여태까지 DB를 직접 CREATE했었기에 볼 수 없었던 것이다. charset 값을 ALTER한다. JPA를 통해서 생성한다면 이 자체에서는 어떻게 할.. 2024. 3. 3.