我試圖製作和存儲用戶名和密碼在明文。我沒有做任何類型的身份驗證(我知道我可以使用節點護照來做到這一點,並加密,但我只是學習JavaScript,所以我只是想玩弄)如何驗證數組中的對象?
我有一個對象,我全球有這樣的定義:
var obj= {username: req.body.username,
password: req.body.password}
,我推到我registeredUsers陣列:
var registeredUsers = new Array();
我的問題是,我希望能夠做一些事情,如:
if((($.inArray(username, registerdUsers) == username &&
($.inArray(password, registerdUsers)) == password){
res.redirect("/?error=Already Registered");
}
這不起作用,我該如何檢查我的對象的兩個值,看看它們是否包含在我的數組中?
這裏是我的情況下,任何人這樣做了驗證的功能是好奇:
var user;
for(var i = 0; user = registeredUsers[i]; i++) {
if(user.username === username)
break;
}
檢查:
function ensureAuthentication(req, res, next){
//push object onto the registeredUsers array
registeredUsers.push(obj);
//if the user is already registered, throw error
if (($.inArray(username, registeredUsers) && ($.inArray(password, registeredUsers)) {//obj.contains() username){
res.redirect("/?error=Already Registered");
}
//if new user
else{
authentication.push(obj);
console.log("added new user);
//redirect to homepage
res.rediret("/");
}
}
和
function login(req, res) {
//var username = req.body.username;
req.session.username = username;
req.session.password = password;
loggedInUsers[username] = LoggedIn;
if((($.inArray(username, registerdUsers) == username && ($.inArray(password, registerdUsers)) == password){
//increase login count
for(users in loggedInUsers){
++loginCount;
console.log("Login Count: ", loginCount);
}
//redirect to login page
res.redirect("/users")
}
else{
//print out error message
res.redirect("/?error=Error: incorrect username/password");
}
}
'inArray'返回數字,這應該做什麼'$ .inArray(username,registerdUsers)==用戶名' – elclanrs
這是什麼'$'的東西? – Ryan
@minitech,我懷疑lodash或下劃線 –