如何解决一个管理员的Node js登录系统
所以我正在做一个简单的项目,并使用MERN堆栈。这是一个小型公司的网站,主要是静态的。因此,我必须为此设计一个管理面板,以便管理员可以上传一些访客可以查看和搜索的文件。
因此只有一名管理员,因此我决定将管理员的凭据保存在我的env变量中,并且不使用任何wallet.js或进行快速验证。所以我在节点服务器上做了一个管理文件,就像这样:
// the admin file is imported in the routes folder and used when a request for
// logging in is made to "/login-admin" endpoint
let admin = {
username: "admin",password: "admin",};
let loggedIn = false;
// Function To Check If the Credentials are correct
function checkIfAdmin(user,pass) {
if (user === admin.username && pass === admin.password) {
return true;
}
return false;
}
// Function To Log In
function setLoggedIn() {
loggedIn = true;
}
// Function To Log Out
function setLoggedOut() {
loggedIn = false;
}
// Function To Check If User Is Logged In
function checkIfLoggedIn() {
if (loggedIn === true) return true;
return false;
}
// Function To Change Password
function changePassword(newPass) {
admin.password = newPass;
return true;
}
module.exports = {
checkIfAdmin,changePassword,setLoggedIn,setLoggedOut,checkIfLoggedIn,};
所以我有疑问的是,这项工作是否可行。这意味着,如果管理员从一个IP地址进行注册,则loggedin
变量将为true。因此,对于每个其他IP地址,变量将显示为true。原因是这种情况,一旦管理员登录,任何人都可以访问管理面板。
如果我错了(但我想错了),请纠正我 否则,请告诉其他方法,以便我可以解决此问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。