2017-03-19 9 views
1

nodejsアプリケーションを使用しています。どこのルートやファイル(html/js)にもアクセスしようとすると、デフォルトでログインページに移動します。/indexページに移動する必要があります。メインのapp.jsファイルに投稿コールを追加しましたが、それは郵便配達員から働いていますが、自分のノードアプリケーション自体でどのように使用するかはわかりません。ノードjsアプリケーションのルーティングのヘルプが必要

app.jsログインフォルダで

app.get('*',function (req, res) { 
    res.redirect('/login'); 
    res.sendFile(path.join(__dirname+'/login/login.html')); 
}); 

app.get('/index',function(req,res){ 
res.sendFile(path.join(__dirname+'/index/index.html'));//on success of login it should be here 
}); 

app.post('/login',function(req,res){ 
var username = req.headers.uname; 
var password = req.headers.pwd; 
var uname = "*****"; 
var pwd = "*******"; 
var login = false; 
if(uname == username && pwd == password){ 
    console.log("success"); 
    login = true; 
} 
else{ 
    console.log("fail"); 
    login = false; 
} 
if(login == true){ 
    res.send("Hello");//It should route to my /index page 
}else{ 
    res.send("Bad luck"); //Invalid credentials 
} 
}); 

私は私のlogin.htmlと、私のログインの.js

login.htmlと

<html> 
<head> 
<script src="/login.js"></script> 
</head> 
<body> 
<div> 
Username:<input type="text" id="uname"> 
</div> 
<div> 
Password:<input type="text" id="pwd"> 
</div> 
<div> 
<button type="submit" onclick="login();">Login</button> 
</div> 
</body> 
</html> 

どのように私はそのためのログイン機能を呼び出すことができますがありますそれは私のapp.jsからの上記のポストコールを使用し、成功するとインデックスページに移動し、デフォルトではログインページに移動する必要があります。ここで助けてください

答えて

0

ノードにミドルウェアを使用する必要があります。あなたのケースでは、それをauthと呼ぶことにしましょう。資格証明をチェックし、正しい場合はチェーンの次のハンドラを呼び出します。そうでなければ、クライアントに401(または403の場合は禁止)ステータスコードを返します。 。

+0

login.htmlから私のapp.jsファイルに書いた私のポストコールをどうすれば使えますか? – user7350714

関連する問題