如何从account-ui meteor中删除用户

时间:2015-02-19 22:04:50

标签: meteor

我正在制作一个流星应用程序并使用帐户ui和bootstrap以及所有这些东西,但我想知道是否有一种方式我可以像管理员和删除用户,因为最近人们一直在制作不适当的用户名等。

1 个答案:

答案 0 :(得分:2)

你可以很容易地删除用户。让模板仅受admin accounts保护,并在该模板上有一个包含用户的列表,根据这个列表创建这样的事件。

Template.example.events({
 'click #deleteAccount':function(){
    meteor.users.remove({_id:this._id}) 
  }
})

并使用这样的allow方法。

Meteor.allow({
 remove:function(){
   //if is admin return true;
  }
})

但这不是一个好习惯,为什么?检查此David Weldon -common-mistakes

  

如果有办法,我可以像管理员一样?

要以更好的方式完成此操作,请使用meteor-roles package

使用此功能,您可以使用

保护模板
{{if isInRole 'Admin'}}
 <!--show admin stuff-->
   {{else}}
 <!--sorry just admin stuff here -->
{{/else}}

并创建基本管理员帐户。

if(Meteor.users.find().count() === 0){
  var users = [
      {name:"Admin Example",email:"supersecretaccount@gmail.com",roles:['Admin']}
    ];

  _.each(users, function (user) {
    var id;

    id = Accounts.createUser({
      email: user.email,
      password: "amore251327",
      profile: { name: user.name }
    });

    if (user.roles.length > 0) {
      Roles.addUsersToRoles(id, user.roles);
    }

  });  
}

试试吧