簡體   English   中英

流星檢查用戶是否為管理員

[英]Meteor Check if User is Admin

我有一個Meteor應用程序,如果用戶是管理員,則需要為該應用程序設置某種類型的變量,以便以后可以使用它顯示/隱藏HTML的某些元素。 為了弄清楚用戶是否是管理員,我必須檢查設備上LocalStorage中的對象,看看它是否與秘密字符串匹配,這將授予用戶管理員訪問權限。 但是,我不希望客戶端看到秘密字符串。 現在,我有一個文件server/server.js ,它具有如下功能:

function isAdmin(cookie) {
    if(cookie == "secret") {
        return true;
    } else {
        return false;
    }
}

但是,看來我無法從我的主.js文件訪問該函數,而我正在使用的應用程序是這樣的:

Meteor.startup(function(){
    admin = false;
    if(typeof(Storage) !== "undefined") {
        cookie = localStorage.getItem("admin");
        admin = isAdmin(cookie);
    }
});

我不知道是否要嘗試解決此錯誤,我需要做的就是每次由客戶端加載站點時都檢查localStorage中是否有cookie,並將其與秘密字符串進行比較,然后設置一個變量,指示用戶是否是管理員,我可以在應用程序的其余部分中使用該管理員。 我還需要它的安全性,以便客戶端不能僅將變量或其他任何內容設置為管理員。

角色包正是您所需要的,

要添加此軟件包,請執行以下命令:

meteor add alanning:roles

您可以像這樣向用戶添加角色:

Roles.addUsersToRoles(someUserId, 'super-admin', Roles.GLOBAL_GROUP)

然后您可以驗證用戶是否具有以下角色:

if (Roles.userIsInRole(someUserId, ['super-admin'], 'real-madrid.com')) {

  // if a user has the 'super-admin' role he will be able to access here

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM