SORU
3 Kasım 2011, PERŞEMBE


nasıl node.js login auth uygulamak

Çalışan bu düğüm server var :

var server=http.createServer(function(request, responsehttp) {
    if (request.method == 'POST') {
        var body = '';
        request.on('data', function (data) {
            body  = data;
        });
        request.on('end', function () {
            var POST = qs.parse(body);
            processquery(POST, request, responsehttp);
        });
    } else {
        var url_parts = url.parse(request.url, true);
        var query = url_parts.query;
        console.log(query);
        processquery(query, request, responsehttp);
    }
});

Bu sunucu için bir giriş formu eklemek istiyorum .yani kullanıcı kimliği doğrulandıktan sonra gösterecektir .

   function processquery(query, request, responsehttp){
    var returnResult = function (data){
        responsehttp.end(JSON.stringify(data));
    };

    if (!query.command) {
        fileprocess(request, responsehttp);
    }
    responsehttp.writeHead(200, {"Content-Type": "application/json"});
    switch(query.command) {
        case 'logout':
            logout(query, returnResult);
            break;
        case 'login':
            login(query, returnResult);
            break;
    }    
}

eğer herhangi bir komut verilmezse olmayan bir süreç içinde sorgu istemci dosyaları döndüren fonksiyon yani ben göndermek oturum açma komut istemci sunucu , server ama ne yapmalıyım ne zaman alıcaksınız oturum açma komut ile kullanıcı adı şifre , nasıl el açma isteği ve dönüş giriş başarısı veya başarısızlığı, yazmak için bu parçaya ihtiyacım var yardım edin .

çalıştım .

function login(request, callback) {
    if(request.username==users[request.username] && request.password==users[request.username].password) {
        users[request.username].auth=true;
        var data = {result:'success','message':'login successful'};
        callback(data);
    } else {
        var data = {result:'error','message':'login incorrect'};
        callback(data);
    }
}

Lütfen nasıl bu oturum ekleyebilirim eklemeye çalıştım öneririm , giriş fonksiyonu değişken istek ve talep ayarı denedim.oturum değişken istek diyor.oturum tanımsızdır .

Nasıl oturum açma kimlik doğrulaması düzgün her kullanıcı için bakım yapan bu giriş modülü yazabilir öneririm lütfen .

CEVAP
3 Kasım 2011, PERŞEMBE


Express.js ile yapıyorum:

1)Eğer kullanıcı kimliği doğrulanmış olup olmadığını kontrol edin: Kullanıcı kimlik doğrulaması için gereken her yolu kullanın: katman bir işlevi CheckAuth verdi

function checkAuth(req, res, next) {
  if (!req.session.user_id) {
    res.send('You are not authorized to view this page');
  } else {
    next();
  }
}

Bu gibi benim güzergah bu işlevi kullanın:

app.get('/my_secret_page', checkAuth, function (req, res) {
  res.send('if you are viewing this page it means you are logged in');
});

2)Giriş yolu:

app.post('/login', function (req, res) {
  var post = req.body;
  if (post.user === 'john' && post.password === 'johnspassword') {
    req.session.user_id = johns_user_id_here;
    res.redirect('/my_secret_page');
  } else {
    res.send('Bad user/pass');
  }
});

3)Çıkış yolu:

app.get('/logout', function (req, res) {
  delete req.session.user_id;
  res.redirect('/login');
});      

Eğer express.js kendi sitesinden kontrol hakkında buradan daha fazla bilgi edinmek istiyorsanız: expressjs.com/guide.html Eğer daha karmaşık şeyler için ihtiyacı varsa, everyauth (facebook, twitter vb; iyi eğitimi here kimlik doğrulama yöntemleri mevcut bir yeri vardır) ödeme.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • Elly

    Elly

    3 EKİM 2005
  • SRI International

    SRI Internat

    30 NİSAN 2008