2017-01-24 1 views
-3

어떻게 작동합니까?하지만 모든 페이지에 대한 액세스를 어떻게 제한합니까?익스프레스 응용 프로그램에서 여권 인증을 사용하는 방법

+0

([여기]를 말한다대로 내가 다했다 https://scotch.io/tutorials/을 여기

코드입니다 쉬운 노드 인증 설정 및 로컬) 모든 것이 잘 작동합니다. 최소한 로컬 로그인 – JavaEvgen

+0

에서 작성했습니다. passportjs.org의 코드를 작성했습니다 ..... 그러나 실행할 수 없습니다. –

+0

자습서 I를 사용해보십시오. 이전 댓글에서 보냈습니다. – JavaEvgen

답변

1

그게 작동했습니다!

var passport = require('passport') 
var passportLocal = require('passport-local'); 
var expressSession = require('express-session'); 
var app = express(); 

// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs'); 



app.use(require('stylus').middleware(path.join(__dirname, 'public'))); 
app.use(express.static(path.join(__dirname, 'public'))); 
app.use(express.static(__dirname + '/node_modules/jquery/dist/')); 
// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(cookieParser()); 
app.use(require('stylus').middleware(path.join(__dirname, 'public'))); 


app.use(expressSession({ 
     secret: process.env.SESSION_SECRET || 'secret', 
     resave:false, 
     saveUninitialized: false 
})) 




passport.use(new passportLocal.Strategy(function(username,password, done){ 
    if(username == password) 
    { 
     done(null,{ id:username, name: username }); 
    } 
    else 
    { 
     done(null,null); 
    } 


})); 

app.use(passport.initialize()); 
app.use(passport.session()); 

passport.serializeUser(function(user,done){ 
     done(null,user.id); 
}); 
passport.deserializeUser(function(id,done){ 
     done(null, { id:id,name: id}); 
}); 


app.use('/', index); 
app.use('/', users); 

app.get('/', function(req, res, next) { 
    res.render("login",{ 
     isAuthenticated: req.isAuthenticated(), 
     user: req.user 
    }); 
}); 
app.post('/login', 
    passport.authenticate('local'), function(req, res, next) { 
    res.redirect("/index1"); 
}); 

하고 다음 조건부 논리 사용 :

if(req.isAuthenticated()) 
{ 

} 
else 
{ 

} 
관련 문제