-
글쓴이글
-
2022년 5월 22일 15:20 #34620
조승엽참가자대충 쇼핑사이트 흉내내고 있는데 개인회원이랑 쇼핑몰에 올리는 판매브랜드회원으로 나눠서 가입시키게 만들었어요. 서로 다른 콜렉션에 만들었고요. 가입할때 아이디 비번처럼 회원타입도 한글로 대충 '개인', '법인' 인풋으로 만들어놓긴 했거든요. 로그인할때 passport는 어떤식으로 해야하나요? passReqCallback로 될까 싶어서 검색해봤는데 설명이 어려워서 이해가 안되네요.
2022년 5월 22일 15:34 #34623
조승엽참가자<div id="loginPerScreen">
<form action="/member/login/user2" method="post">
<input type="text" name="id" class="form-control mt-3" placeholder="개인 아이디">
<input type="password" name="pw" class="form-control" placeholder="개인 패스워드">
<button type="submit" class="btn btn-danger mt-4 w-100">로그인</button>
</form>
</div>
<div id="loginCorScreen" class="hide">
<form action="/member/login/user1" method="post">
<input type="text" name="id" class="form-control mt-3" placeholder="법인 아이디">
<input type="password" name="pw" class="form-control" placeholder="법인 패스워드">
<button type="submit" class="btn btn-danger mt-4 w-100">로그인</button>
</form>
</div>2022년 5월 22일 15:35 #34624
조승엽참가자// 법인 로그인
app.post('/member/login/user1',passport.authenticate('corporatemember',{
failureRedirect : '/fail'
}),function(요청, 응답){
console.log('법인'+ 요청.body.id)
console.log('법인'+ 요청.body.pw)
});
// 개인 로그인
app.post('/member/login/user2',function(요청, 응답){
console.log('개인'+ 요청.body.id)
console.log('개인'+ 요청.body.pw)
});// 로그인 검사
passport.use(new LocalStrategy({
usernameField: 'id',
passwordField: 'pw',
session: true,
passReqToCallback: true,
}, function (요청,입력한아이디, 입력한비번, done) {
//console.log(입력한아이디, 입력한비번);
console.log(요청 + '요청요청요청')
db.collection('corporatemember').findOne({ 아이디: 입력한아이디 }, function (에러, 결과) {
if (에러) return done(에러)if (!결과) return done(null, false, { message: '존재하지않는 아이디요' })
if (입력한비번 == 결과.pw) {
return done(null, 결과)
} else {
return done(null, false, { message: '비번틀렸어요' })
}
})
}));passport.serializeUser(function(user,done){
done(null,user.id)
});passport.deserializeUser(function(아이디,done){
db.collection('corporatemember').findOne({아이디 : 아이디},function(에러,결과){
done(null, 결과)
})
});function 로그인했니(요청,응답,next){
if(요청.user){
next()
}else{
응답.send('로그인 안하셨는데요?')
}
}2022년 5월 22일 16:37 #34628
codingapple키 마스터회원기능은 수정할 필요가 없습니다 db에 회원유형만 잘 기록해놓으면 됩니다
그냥 나중에 페이지나 데이터 요청할 때 이 유저가 개인인지 뭔지 검사해보면 됩니다
-
글쓴이글
- 답변은 로그인 후 가능합니다.