Upload All
This commit is contained in:
48
_preserved/OldLoginStrategy.js
Normal file
48
_preserved/OldLoginStrategy.js
Normal file
@ -0,0 +1,48 @@
|
||||
/**
|
||||
* 在「登入」頁面下,處理、驗證使用者所傳的帳號、密碼是否正確。
|
||||
*/
|
||||
router.post("/login", (req, res) => {
|
||||
req.checkBody("username")
|
||||
.notEmpty().withMessage("請輸入登入的使用者名稱。");
|
||||
req.checkBody("password")
|
||||
.notEmpty().withMessage("請輸入登入的密碼。");
|
||||
// 取得錯誤物件結果
|
||||
req.getValidationResult().then((result) => {
|
||||
let errors = result.mapped();
|
||||
let responseMsg = {isOK : result.isEmpty()};
|
||||
// 取得資料插值物件
|
||||
dataRender.DataRender("login", req.session, (err, dataObj) => {
|
||||
if (err) {
|
||||
res.setHeader("Content-Type", "text/plain");
|
||||
res.status(500);
|
||||
res.end("Server side error : 500\n" + err);
|
||||
return;
|
||||
}
|
||||
// 若驗證、檢查成功,則從資料庫中比對帳號、密碼資訊
|
||||
if (responseMsg.isOK) {
|
||||
User.AccountComparison(req.body.username, req.body.password, (err, result) => {
|
||||
// 若帳號密碼比對不成功 或 找不到使用者,則送出錯誤訊息
|
||||
if (!result) {
|
||||
dataObj.isLoginFailed = true;
|
||||
dataObj.loginMessage = "錯誤的帳號名稱或密碼,請重新輸入。";
|
||||
res.render("login", dataObj);
|
||||
return;
|
||||
}
|
||||
else if (err) {
|
||||
dataObj.isLoginFailed = true;
|
||||
dataObj.loginMessage = "很抱歉!伺服端處理時發生錯誤,請稍候重試!";
|
||||
res.render("login", dataObj);
|
||||
return;
|
||||
}
|
||||
res.send(responseMsg);
|
||||
});
|
||||
}
|
||||
else {
|
||||
let firstErr = Object.values(errors)[0]; // 取得第一個錯誤訊息物件
|
||||
dataObj.isLoginFailed = true;
|
||||
dataObj.loginMessage = firstErr.msg; // 將錯誤訊息新增到回應物件的message屬性
|
||||
res.render("login", dataObj);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user