ノードJSでミニCMSアプリケーションを構築しました。ユーザーは自分のプロファイルと管理者を編集してすべてのプロファイルを編集できます。私はロジックとの奇妙な問題がある - 私はこの構文を使用する場合は、管理者が他のユーザーのプロファイルを編集しようとしたとき、私はエラー(401)
を得る:このロジックで何が問題になっていますか?ノードJS
if (!loggedUser.isAdmin || foundUser.id !== loggedUser.id) {
res.status(401).json();
} else {
// Save Updated User
foundUser.username = req.body.username;
foundUser.birthday = req.body.birthday;
foundUser.personalWeb = req.body.personalWeb;
foundUser.location = req.body.location;
foundUser.save().then(() => res.status(200).json(200));
}
をしかし、私はこの構文を使用する場合、アクセス権はうまく動作します。
if (loggedUser.isAdmin || foundUser.id === loggedUser.id) {
// Save Updated User
foundUser.username = req.body.username;
foundUser.profileImg = req.body.profileImg;
foundUser.personalWeb = req.body.personalWeb;
foundUser.location = req.body.location;
foundUser.save().then(() => res.status(200).json(200));
} else {
res.status(401).json();
}
誰かが2つの条件の間の差異を説明できますか?
トップは '&&'にする必要があります。あなたは彼らが管理者ではない、またはユーザーが見つからないと言っているのに対して、下部には「管理者であるかユーザーが見つかった場合はクールだ」と言っているのです。 –