인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

skywalk님의 프로필 이미지
skywalk

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #13 Auth 기능 만들기

Admin user 등록?

작성

·

171

1

기초강의를 다시 보고 있는데요. 어드민 유저를  어떻게 생성하죠.

role 이 1 이어야 하는데, 디폴트로 0를 주고 있어서요. 

아직 전체적으로 정리가 안되고 있습니다.  다시 shop 강의를 정리 하기 전에   관리자 기능도 따로 부여해야 할 것 같아서요.

너무 기초 인가요.

답변 2

1

John Ahn님의 프로필 이미지
John Ahn
지식공유자

너무 기초라니요 ^^ ~~ 아닙니다 ~ !!!! 

우선 어드민을 몇번으로 줄것인지 자신만의 정책을 정해주셔야 될것같습니다 ^^ 

예를 들자면 

일반유저 1 

어드민 유저 0 

그리고 뭐 강퇴된 유저 99 이런식으로요.

그렇게 되면  디폴트로 1로 주고  어드민 유저만 따로 DB에서 0으로 바꿔 줄수도 있겠네요 ~!   

그리고   유저 role에 대한 컨트롤은  middleware를 통해서 할수 있겠습니다. 

지금 middleware 폴더에   

이렇게 admin.js 라는 파일을 만들어 주시고 

let admin = (req,res,next) => {
if(req.user.role !== 0 ){
return res.send('관리자만 사용 할수 있는 기능입니다.')
}
next()
}

module.exports = { admin }

이런식으로 넣어주셔서 0이 아니면 관리자가 아니기에 이 기능을 쓰지 못하게 막을수 있답니다 ^^ 

막히실때는 언제든 질문주세요 ^^ !!

0

skywalk님의 프로필 이미지
skywalk
질문자

고맙습니다.  업로드한 상품을 필요에 따라 내려줘야 하는 경우에 관리자만 하도록 해야 겠다는 생각을 하면서  관리자 등록을 DB에 넣는 것 까지는 생각 했었는데 사용에 대해서는 짧아서요. 그럼  컴포넌트 나타낸 App.js 에서 

<Route exact path="/product/upload" component={Admin(UploadProductPage, true)} />  이런 식으로 접근하면 가능 할 까요. (upload 는 아니고, down 이 되겠지요.)

감사합니다.   

지금 기초를 다시보면서  내비 부분을 소스를 보면서 추가하고 있는데요. 모듈들을 추가로 받고, Icon 디자인은  버전업되어 다르게 해 주어야 하네요. 노드모듈이  그런 편이기 하는데... 그런데로 재미 있습니다.  

skywalk님의 프로필 이미지
skywalk

작성한 질문수

질문하기