장바구니에 상품이 없습니다.
home2 › 게시판 › Node.js, Express 게시판 › 리액트, 노드연동 로그인 질문있습니다.
노드 ejs 파일말구 리액트 라우터 방식으로 보여주는 사이트입니다.
그런데 노드강의에선 ejs파일로만 다루는 걸 말씀해주셔서 햇갈리는게 있는데요..
리액트에서 로그인 성공시 보여주고싶은페이지가 하나있는데 일단
이런식으로 login 스데이터에 false를 넣어두고 로그인 성공시 true 로바뀌면
페이지를 보여주고싶습니다.. 이런방식이 맞는지 궁금하고
로그인되면 login 저기에 true를 어떻게 넣어줘야할지 궁금합니다.
ajax로 로그인요청하고 로그인성공시 서버에서 성공했다거나 그런 메세지같은걸 보내주면 됩니다
그걸 받으면 state를 true로 바꿔주면 되겠군요
고민해봣는데요... 로그인성공시 실행코드를 어디 입력해야할지 잘모르겟습니다...
passport 뭐라고 적힌곳이 로그인되면 실행되는 코드공간 아닌가요? ..
로그인 성공시 서버에 저장된 true값을 보내주고싶은데 잘모르겟어요..
저기 겟요청따로꺼내서하면 실행이되지만 로그인 성공시!만 실행이빠져서 의미가 없네요..
로그인시 보여주고 싶은 페이지에 저렇게 하면될듯싶은데 쿠키가있다는걸 어떻게 표현해야할지 잘모르겟습니다..
ajax로 로그인할거면 https://stackoverflow.com/questions/15711127/express-passport-node-js-error-handling
이런거 참고해서 app.post 안에 passport어쩌구 넣는게 응답.send 하기 편합니다
document.cookie 쓰면 쿠키출력가능한데 여러개 섞일 경우 귀찮습니다
찾아봐도 잘모르겟어서 그런데요..
저기 로그인햇는지 검사해주는 함수가 리액트에서는 작동을안해서
url직접접근을 허용하는거같아요...
ejs파일로할때랑 리액트로 빌드된파일보여줄때는 다른가봐요.
어떻게 url직접접근을 막나요...
localhost:8080/어쩌구
이렇게 검색하면 노드에서 ejs로할떄는 로그인하셧나요? 라고 함수가 실행되는데
리액트로는 url 직접검색해서 들어오는걸 어떻게 막아햐할지 모르겟어요..
로그인하면 true로 바뀌는 state 만들어두고
그게 true일 때만 컴포넌트 내용 보여주라고 if문 쓰면 됩니다