You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JS登录验证代码中新增访客等其他用户的登录校验逻辑

多用户登录功能实现方案

方案1:直接扩展条件判断(符合你提到的条件判断实现思路)

直接在原有判断逻辑上新增账号密码的校验分支即可,还可以额外区分不同用户的权限、跳转路径:

methods: {
    login() {
        // 校验管理员账号
        const isAdmin = this.input.username == "admin1" && this.input.password == "pass1"
        // 校验访客账号
        const isGuest = this.input.username == "guest" && this.input.password == "guest123"
        if(isAdmin || isGuest) {
            this.$store.commit("setAuthentication", true);
            // 不同角色跳转到不同页面
            if(isAdmin) {
                this.$router.replace({ name: "secure" });
            } else if(isGuest) {
                this.$router.replace({ name: "guestPage" });
            }
        } else {
            console.log("The username and / or password is incorrect");
        }
    }
}

这种写法逻辑简单直观,适合少量用户的场景,后续加新用户只要新增对应的校验变量,再把变量加到if的判断条件里就行。


方案2:配置化实现(更易维护,推荐学习使用)

如果后续要加的用户比较多,建议把合法用户统一放到配置列表里,后续加用户只要改配置不需要动逻辑:

methods: {
    login() {
        // 合法用户配置列表,新增用户直接在这个数组里加对象即可
        const validUserList = [
            { username: "admin1", password: "pass1", role: "admin", redirectRoute: "secure" },
            { username: "guest", password: "guest123", role: "guest", redirectRoute: "guestPage" }
        ]
        // 匹配输入的账号密码是否合法
        const loginUser = validUserList.find(item => 
            item.username === this.input.username && item.password === this.input.password
        )
        if(loginUser) {
            this.$store.commit("setAuthentication", true);
            // 可以把用户角色存入store,方便后续页面做权限控制
            this.$store.commit("setUserRole", loginUser.role);
            this.$router.replace({ name: loginUser.redirectRoute });
        } else {
            console.log("The username and / or password is incorrect");
        }
    }
}

注意

以上两种写法仅适合本地学习测试使用,不要在生产环境使用前端硬编码账号密码的校验方式,真实业务的账号校验必须调用后端接口完成,避免账号密码直接暴露在前端代码中引发安全问题。

内容的提问来源于stack exchange,提问作者Abraham Felix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:45:03