2017-04-10 51 views

回答

1

您需要做的就是在繼續發佈或方法之前檢查用戶是否處於角色中。

公開例如:

import { Meteor } from 'meteor/meteor'; 
import { Roles } from 'meteor/alanning:roles'; 
import { Posts } from '/imports/api/posts/posts'; 

Meteor.publish('publicationName', function() { 
    if(!Roles.userIsInRole(this.userId, 'administrator')) { 
     throw new Meteor.Error('unauthorised', 'You cannot do this.'); 
    } 

    return Posts.find(); 
}); 

方法例如:

import { Meteor } from 'meteor/meteor'; 
import { Roles } from 'meteor/alanning:roles'; 
import { Posts } from '/imports/api/posts/posts'; 

Meteor.methods({ 
    'remove.post':(id) => { 
     if(!Roles.userIsInRole(this.userId, 'administrator')) { 
      throw new Meteor.Error('unauthorised', 'You cannot do this.'); 
     } 

     return Posts.remove(id); 
    } 
}); 
相關問題