代码之家  ›  专栏  ›  技术社区  ›  volna

Meteor react管理设置

  •  0
  • volna  · 技术社区  · 8 年前

    react meteor 我已经使用设置了以下登录表单 React 在客户端文件夹中:

    class Admin extends Component {
    
      onSubmit(event) {
        event.preventDefault();
    
        const self = this;
        const email = $(event.target).find('[name=email]').val();
        const password = $(event.target).find('[name=password]').val();
    
        Meteor.loginWithPassword(email, password, function (err) {
          if (err) console.log(err.reason);
        });
      }
    
      render() {
        return (
          <div className='flex-login'>
            <form onSubmit={this.onSubmit}>
              <div className='login'>
                <div className='welcome'>
                  <p><strong>Greetings</strong>, my dear master :)  </p>
                  <p>Did anything surprise you today?</p>
                </div>
                <input name='email' type="email" placeholder="Name" />
                <input name='password' type="password" placeholder="Secretword" />
                <button type="submit">Enter</button>
              </div>
            </form>
          </div>
        );
      }
    }
    

    并添加了以下帐户。将createUser创建到服务器主目录中。js文件:

    import { Meteor } from 'meteor/meteor';
    import { Accounts } from 'meteor/accounts-base';
    
    // Creating user
    Meteor.startup(() => {
      if (Meteor.users.find().count === 0) {
        Accounts.createUser({
          email: 'master@mail.com',
          password: 'master'
        });
      }
    });
    

    当我尝试使用定义的帐户信息登录时,我会收到console.log User not found .

    为了达到这个结果,你能解释一下我缺少什么吗?

    production version .

    这些身份验证的目的是允许进一步访问管理集合的信息。

    2 回复  |  直到 8 年前
        1
  •  0
  •   khem poudel    8 年前

        2
  •  0
  •   khem poudel    8 年前

    Meteor.users.find().count() 永远不会是零。您应该检查角色为“admin”的用户是否为零,然后创建admin。您可以在此处使用角色包 alanning:roles 向用户添加角色。

    希望能有所帮助

    谢谢