Meteor用户:仅限admin用户添加用户

时间:2015-10-08 14:06:27

标签: meteor

我在Meteor应用中使用useraccounts包。我希望管理员能够添加新用户(并禁用通过前端注册)。因此,我根据meteor-collection2的建议添加了一个带有SimpleSchema的Collection。我也使用AutoForm来创建“添加用户”页面。

<template name="addCustomerProfile">
  <div class="container">
    <h1>Edit document</h1>
    {{#if isReady 'updateCustomerProfile'}}
       {{#autoForm collection="Users" id="userForm" type="insert" }}
        <fieldset>
          {{> afQuickField name='emails.0.address'}}
          {{> afQuickField name='emails.0.verified'}}
          {{> afQuickField name='services.password'}}
          {{> afQuickField name='username'}}
          {{> afQuickField name='profile.firstName'}}
        </fieldset>
        <button type="submit" class="btn btn-primary">Add User</button>
      {{/autoForm}}
    {{else}}
      Nothing
    {{/if}}
   </div>
</template>

每当'services.password'未添加到表单时,我都可以添加用户,但显然在这种情况下没有为Mongo数据库中的用户设置默认密码。如何添加字段,以便管理员可以为该用户设置默认密码(之后用户可以更改)。

1 个答案:

答案 0 :(得分:0)

为什么不只是sendEnrollmentEmailAccounts.config({ forbidClientAccountCreation: true }); Meteor.methods({ 'inviteUser': function (doc) { check(doc, YourForm); let userId = Accounts.createUser(doc); Accounts.sendEnrollmentEmail(userId); } });

    $.ajax({
        url: '...'
    }).done(function(data){
        // create jQuery object from response
        var $html = $(data);
        //hide within that object
        $html.find('.search-form-for-hide').hide();
        // insert the object
        $('div.show-html-from-ajax').html($html);
         /*******   OR ***************/
        //  the html is in the DOM now, can do whatever might be needed to it
        $('.search-form-for-hide').hide();

    });