0

我想使用 AutoForm 创建一个注册表单,然后创建用户。此外,新用户应在注册后自动登录。

因此,我创建了一个 AutoForm 并提供了一个meteormethod名为signUp

Meteor.methods({
    signUp: function (doc) {
        check(doc, Schema.signUp);
        Accounts.createUser({username: doc.username, password: doc.password});
    }
});

这很完美。但是,我不知道如何从服务器端登录用户?这甚至可能吗?

如果没有,我该如何解决这个问题?我需要包含Accounts.createUser({username: doc.username, password: doc.password});在我的模式custom验证功能中吗?

4

1 回答 1

1

aldeed:autoform与任何集合一起使用,您首先需要为该集合定义模式,因为autoform依赖于simple-schema附加到该集合。如果没有模式,表单将不会出现,您将看到 autoform 抛出未捕获的异常。

所以首先,你需要定义模式。之后,可以更新或插入用户到Meteor.users集合中。有关用户集合实体的典型纯对象结构,请参阅官方文档,起初您可能只是console.log当前经过身份验证Meteor.user()以查看它具有哪些必需字段。

我个人的建议是不要使用 autoform 来搞乱用户。它不是很安全,您需要明确控制哪些用户(或角色)可以对您的用户进行 CRUD,哪些用户不能。这只是解决的额外痛苦,它可能会简单地否定自动成型的便利性。

于 2015-10-15T19:00:35.960 回答