2017-05-27 41 views
0

我已經在我的Meteor projet上添加了alanning:roles軟件包,以便爲我的用戶設置角色。流星測試,如果用戶是角色管理

添加我的第一個用戶與此夾具:

if (Meteor.users.find().count() === 0) { 

    const adminUsername = "username"; 
    const adminPassword = "password"; 

    const adminAccount = Accounts.createUser({ 
    username: adminUsername, 
    password: adminPassword 
    }); 

    Roles.addUsersToRoles(adminAccount, 'admin', Roles.GLOBAL_GROUP); 

} 

而且我測試用戶是否與此聯繫:

const testAdmin = Roles.userIsInRole(Meteor.userId(), 'admin', Roles.GLOBAL_GROUP); 

console.log(testAdmin); // return false, why ? 

我的console.log關閉testadmin的賬戶返回false,和我不「不懂爲什麼:/有關MongoDB,我看到:

"roles" : { 
    "__global_roles__" : [ 
     "admin" 
    ] 
} 

所以,我的用戶一直管理員角色。爲什麼我的測試不會迴歸真實?

任何人都可以幫到我嗎?

謝謝社區!

回答

0

如果它至少在服務器端工作,請嘗試。

如果是這樣,這意味着您只需要發佈roles字段Meteor.users以及。即使使用autopublish包,流星也不會發布所有用戶數據。

+0

是的,它在服務器端工作,而不是客戶端:)謝謝你的幫助! –