Javascript 如何在Firebase中创建管理员用户,等等?

Javascript 如何在Firebase中创建管理员用户,等等?,javascript,firebase,vue.js,firebase-security,Javascript,Firebase,Vue.js,Firebase Security,我不太明白如何使用不同权限的用户(管理员、学生、教师),以下是规则: {"rules": {"authentication": {"users": {"$uid": { ".read": "auth.uid == $uid || root.child('authentication').child('users').child('auth.uid').child('isAdmin').val() == true

我不太明白如何使用不同权限的用户(管理员、学生、教师),以下是规则:

{"rules": 
    {"authentication": 
        {"users": 
            {"$uid": {
                ".read": "auth.uid == $uid || root.child('authentication').child('users').child('auth.uid').child('isAdmin').val() == true",
                ".write": "newData.parent().parent().parent().child('authentication').child('users').child('auth.uid').child('isAdmin').val() == true",
                ".indexOn": [
                    "email"
                ]
                }
            }
        }
    }
}
用户:

实时数据库:

{
 "users" : {
 "-KVVe4Ncd5Qnm5r37zVp" : {
   "email" : "admin@gmail.com",
   "isAdmin" : true,
   "name" : "admin"
 },
  "-KVVeADyh07mBXBFImtq" : {
   "email" : "djvang92@gmail.com",
   "isAdmin" : true,
   "name" : "Ivan"
  }
 }
}
Firebase脚本:

// Initialize Firebase
const config = {
  apiKey: "AIzaSyAfeEpMopsPWnowiv1uEWYINgk6V_ohvG4",
  authDomain: "spalah-1358.firebaseapp.com",
  databaseURL: "https://spalah-1358.firebaseio.com",
  storageBucket: "spalah-1358.appspot.com",
  messagingSenderId: "300000265085"
}

firebase.initializeApp(config)


export const db = firebase.database();

export const auth = firebase.auth()



console.log(auth);

// var provider = new firebase.auth.GoogleAuthProvider();
// var provider = new firebase.auth.FacebookAuthProvider();
// var provider = new firebase.auth.TwitterAuthProvider();
// var provider = new firebase.auth.GithubAuthProvider();




export default {

  // User object will let us check authentication status
  user: {
    authenticated: false,
    data: null,
    message: ''
  },
  login(context, creds, redirect) {
    console.log('Login...');
    let self = this;
    let email = creds.email;
    let password = creds.password;
    let promise = auth.signInWithEmailAndPassword(email, password);

    console.log(email, password);

    // Redirect to a specified route
    if(redirect) {
       // context.$router.go(redirect) 
       // console.log(context.$router);       
    }

    promise
    .then(user => {
       self.user.authenticated = true
       self.user.message = false
    })
    .catch(e => {
      self.user.message = e.message
      console.log(e);
    })

  },
  signup(context, creds, redirect) {
    console.log('Sign Up...');
    let email = creds.email
    let password = creds.password
    let promise = auth.createUserWithEmailAndPassword(email, password);

    promise
      .then(user => {
        console.log(user);
        self.user.message = false
      })
      .catch(e => {
        self.user.message = e.message
        console.log(e);
      })
  },
  logout() {
    let self = this
    auth.signOut().then(function() {
      // Sign-out successful.
      console.log('Log-out successful');
      self.user.authenticated = false
    }, function(error) {
      // An error happened.
      console.log('Log-out error');
    });
  },
  provider(context, creds, redirect) {
    let provider = new firebase.auth.GoogleAuthProvider()

    auth.signInWithPopup(provider).then(function(result) {
      // Accounts successfully linked.
      var credential = result.credential;
      var user = result.user;
      // ...
      console.log(credential);
      console.log(user.photoURL);
    }).catch(function(error) {
      // Handle Errors here.
      // ...
      console.log(error);
    });

  },
  checkAuth() {
    let self = this
    auth.onAuthStateChanged(function(user) {
      if (user) {
        // User is signed in.
        console.log('Connect:', user);
        self.user.authenticated = true
        self.user.data = user
      } else {
        // No user is signed in.
        console.log('No connect:');
        self.user.authenticated = false
        self.user.data = null
      }
    });
  }
}
我不知道如何在Javascript中跟踪它。。。 (应用程序上是否有vue.js)可能有任何示例说明如何使用不同的。。。
谢谢大家!

您的问题中包含了一个指向JSON树图片的链接。请将其替换为实际的JSON作为文本,您可以通过单击Firebase数据库控制台中的导出按钮轻松获得该文本。将JSON作为文本使其可搜索,使我们能够轻松地使用它来测试您的实际数据,并在我们的答案中使用它,这通常是一件好事。此外:如果您在使用特定的JavaScript时遇到问题,请显示。@FrankvanPuffelen谢谢。我是新手。更新的问题您的问题中包含了一个指向JSON树图片的链接。请将其替换为实际的JSON作为文本,您可以通过单击Firebase数据库控制台中的导出按钮轻松获得该文本。将JSON作为文本使其可搜索,使我们能够轻松地使用它来测试您的实际数据,并在我们的答案中使用它,这通常是一件好事。此外:如果您在使用特定的JavaScript时遇到问题,请显示。@FrankvanPuffelen谢谢。我是新手。更新问题