Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何在登录时验证用户凭据?_Mongodb_Meteor - Fatal编程技术网

Mongodb 如何在登录时验证用户凭据?

Mongodb 如何在登录时验证用户凭据?,mongodb,meteor,Mongodb,Meteor,出于测试目的,我创建了一个带有一个用户名和密码的虚拟集合。我想检查我是否可以成功登录,如果信息是正确的 我将用户输入存储在会话中,如下所示: Template.contactus.events({ 'submit #hr-login': function (e, t) { e.preventDefault(); Session.set('username', t.find('#username').value); Session.s

出于测试目的,我创建了一个带有一个用户名和密码的虚拟集合。我想检查我是否可以成功登录,如果信息是正确的

我将用户输入存储在会话中,如下所示:

Template.contactus.events({
      'submit #hr-login': function (e, t) {

        e.preventDefault();

        Session.set('username', t.find('#username').value);
        Session.set('password', t.find('#password').value);

        Router.go('/message');

      }
});
我尝试了以下代码:

     var check = hr.findOne({username: Session.get('username'), pass: Session.get('password')});
if(check){
    Router.go('/message');
}
不幸的是,这并没有为我解决问题

如何检查用户输入是否正确,以及是否与集合中的用户名和密码匹配

更新


我知道
accounts ui
accounts password
软件包,但由于我的项目要求,我无法使用它们

我不确定您是否知道Meteor accounts软件包-您可以更轻松地使用它们。它还提供Facebook/Google登录和许多其他功能,几乎都是开箱即用的


您可以安装一些软件包来为您完成大部分工作

我不确定您是否了解Meteor accounts软件包-使用它会更容易。它还提供Facebook/Google登录和许多其他功能,几乎都是开箱即用的


您可以安装一些软件包来为您完成大部分工作

我认为您可以使用
帐户密码
,而不是为管理员和员工进行不同的收集。为此,有一个非常有用的软件包
alanning:roles
您可以通过
meteor add alanning:roles
添加此软件包

转到此github链接了解文档和用法。
我认为您可以使用
帐户密码
,而不是为管理员和员工进行不同的收集。为此,有一个非常有用的软件包
alanning:roles
您可以通过
meteor add alanning:roles
添加此软件包

转到此github链接了解文档和用法。

我知道该软件包,但由于项目要求,我必须创建自己的登录名。您正在考虑一条漫长的道路。看看这个答案(类似于你的问题),我知道这个软件包,但由于我的项目要求,我必须创建自己的登录名。你正在考虑一条漫长的道路。看看这个答案(类似于你的问题),不确定我是否理解你。您是否正在尝试构建自己的用户帐户系统而不使用Meteor附带的系统?@Khang,我想创建一个系统,其中将有多个集合来存储用户帐户。例如,集合将存储管理员的帐户,另一个集合将存储员工的帐户等等。如果我没有弄错的话,Meteor帐户包仅限于一个集合。我不确定是否有特定的软件包可以帮助我制定规范。这不是一项普通的任务,您必须修改Meteor的核心软件包代码,以将用户的文档存储在不同的集合中,并且仍然允许他们登录。如果您真的必须这样做,请从这个包开始:。我想指出,仅从MongoDB方面遵循这种方法是完全没有意义的。即使员工和管理员帐户除了存在
\u id
字段之外没有任何共同之处,您仍然可以将它们存储在同一个集合中。@Markus W Mahlberg,正是我想听到的,谢谢:)我不确定是否理解您的意思。您是否正在尝试构建自己的用户帐户系统而不使用Meteor附带的系统?@Khang,我想创建一个系统,其中将有多个集合来存储用户帐户。例如,集合将存储管理员的帐户,另一个集合将存储员工的帐户等等。如果我没有弄错的话,Meteor帐户包仅限于一个集合。我不确定是否有特定的软件包可以帮助我制定规范。这不是一项普通的任务,您必须修改Meteor的核心软件包代码,以将用户的文档存储在不同的集合中,并且仍然允许他们登录。如果您真的必须这样做,请从这个包开始:。我想指出,仅从MongoDB方面遵循这种方法是完全没有意义的。即使员工和管理员帐户除了存在
\u id
字段之外没有任何共同之处,您仍然可以将它们存储在同一个集合中。@Markus W Mahlberg,这正是我想听到的,谢谢:)只有一个问题,以确保我今后不会遇到问题。我想为首席执行官添加另一层。首席执行官将拥有一项功能,可以将系统用户添加为管理员或员工。我可以将添加的用户(管理员/员工)链接到其正确的角色吗?不必玩弄代码?将来?@BehrouzRiahi,是的,你可以向用户添加更多角色并指定权限,这在文档中有说明,即使我的应用程序中有一个场景,管理员可以添加用户,但简单的员工不能,我的目的是通过使用“alannig:roles”包解决的。很高兴听到这个消息,现在我觉得使用它很舒服:),最后一个问题,如果可以的话。我希望我的系统只允许不注册的登录,我可以通过meteor accounts package完成吗?@BehrouzRiahi,那么你想让用户甚至不注册就登录吗?确切地说,我想从Mongo shell“手动”添加一个用户,该用户将负责添加其余用户。因此,我需要办理登记手续,可以吗?根据您的经验。:)只有一个问题,以确保我在未来不会面临问题。我想为首席执行官添加另一层。首席执行官将拥有一项功能,可以将系统用户添加为管理员或员工。我可以将添加的用户(管理员/员工)链接到其正确的角色吗?不必玩弄代码?将来?@BehrouzRiahi,是的,您可以向用户添加更多角色并指定权限,这在文档中有说明,即使我的应用程序中有一个场景,管理员可以添加用户,但简单的员工不能,我的pur