我希望没有用户能够创建具有超级管理员角色的用户,我希望在启动时由服务器创建唯一的超级管理员。如何创建一个强制执行此功能的Accounts.validateNewUser()函数?
更一般地说,我希望所有新用户都以某种方式验证,除了在服务器启动期间创建的用户。我该怎么做?
谢谢!
答案 0 :(得分:0)
当服务器启动时,创建新的超级管理员用户并确保该用户在其文档中具有唯一键。例如:isSuperAdmin: true
。在您的Accounts.validateNewUser()
代码中(在服务器上运行):
if ( Meteor.user().isSuperAdmin || Meteor.users.find().count() <= 1 ) return true; // only allow super admin to create users with exception for very first user
else throw new Meteor.error(403,'Forbidden');
对于在用户上设置 isSuperAdmin 键的任何尝试,您还需要拒绝规则。