javascript - 角色库登录 JavaScript

标签 javascript html

我正在做一个学校项目,我必须使用 JavaScript 构建一个基于 Angular 色的登录系统,该系统会将 2 种类型的用户重定向到他们自己的网站。我正在为硬编码用户使用本地存储(我知道它不安全,我们不使用任何数据库)并在我的构造函数中使用“身份验证级别”进行重定向 我的问题是整体任务;))但现在我遇到了这个特定错误 UserLogin is not Define at validate (Login.js:10) at HTMLButtonElement.onclick

class UserLogin {
  constructor(username, password, authLevel) {
    this.username = username;
    this.password = password;
    this.authlevel = authLevel;
  }
}
// Localstorage logins
if (localStorage.getItem(userLogin) == null) {
  var userLogins = [];
  userLogins.push(new UserLogin("Benjamin", 4321, "1"));
  userLogins.push(new UserLogin("Mads", 12345, "1"));
  userLogins.push(new UserLogin("Simon", 1234, "1"));
  userLogins.push(new UserLogin("Jessica", 54321, "1"));
  // Logins for Projectmanagers
  userLogins.push(new UserLogin("Oliver", 1234, "2"));
  userLogins.push(new UserLogin("Sara", 4321, "2"));

  var userLoginstring = JSON.stringify(UserLogin)
  localStorage.setItem("UserLogin", userLoginstring)
} else {
  var employeeList = JSON.parse(localStorage.getItem("UserLogin"))
}

//And my function to validate the user ( Not taking authentication level into account yet, just want it to be able to work)

function validate() {
  // from reg form in HTML
  var uname = document.getElementById("uname");
  var pass = document.getElementById("pass")

  var userLogins = JSON.parse(localStorage.getItem("UserLogin"));
  if (!userLogins) {
    userLogins = [
      //Logins for Employee
      new UserLogin("Benjamin", 4321, "1"),
      new UserLogin("Mads", 12345, "1"),
      new UserLogin("Simon", 1234, "1"),
      new UserLogin("Jessica", 54321, "1"),
      // Logins for Projectmanagers
      new UserLogin("Oliver", 1234, "2"),
      new UserLogin("Sara", 4321, "2"),
    ];
    localStorage.setItem("userLogin", JSON.stringify(userLogins));

    for (let i = 0; i < userLoginsserLogins.length; i++) {
      if (username.value == userLogins && password.value == userLogins) {
        alert("You have been logged in");
        document.location = "Medarbejderside.html";
        return false
      } else {
        alert("Login denied");
      }
    }
  }
}

最佳答案

我可以看到您使用了两种不同的符号,即 localStorage.getItem(userLogin)localStorage.getItem(UserLogin)

确保您使用的名称与为 localStorage 设置的名称相同,无论是 userLogin 还是 UserLogin

第二件事是,无论您使用 localStorage.getItem() 还是 localStorage.setItem(),请确保将名称作为字符串传递,即在引号内传递,例如 localStorage.getItem("userLogin")localStorage.setItem("userLogin")

关于javascript - 角色库登录 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58696680/

相关文章:

javascript - Protractor 在元素出现在页面之前单击元素

javascript - Firebase FCM React 项目问题 - firebase-messaging-sw.js 类型错误?

javascript - d3中的嵌套图和折线图

javascript - 创建渐变/彩虹描边样式 html5 Canvas

html - HTML 和 CSS 新手,正在为类创建网页。无法让我的 ul 正确 float

html - IIS/AngularJS 单页应用程序 - 在应用程序中导航时如何防止单个 index.html 的页面缓存

html - 是否可以在 Dreamweaver 中自动格式化您的代码?

javascript - 是否有从 HTML 页面打印 div 的 Angular 方式?

html - 强制 IE9 呈现为 IE8,但仍使用 CSS3 属性

javascript - 在选项卡按钮上播放淡入/淡出 slider 单击