如何从meteor shell以特定用户身份登录

如何从meteor shell以特定用户身份登录,meteor,meteor-accounts,meteorite,Meteor,Meteor Accounts,Meteorite,我正在开发一个Meteor应用程序。我打开了流星壳。我需要做一个快速测试的插入,但我需要假装我作为一个特定的用户进行了身份验证(我知道用户ID)。在meteor shell中,有没有一种方法可以让我在给定用户ID的情况下作为特定用户登录 谢谢大家! 您不能在meteor shell中模拟登录用户 我不确定你们到底在测试什么,但若它是一些关于集合的允许/拒绝规则,那个么试着创建一个方法来完成你们的工作,作为想要的用户登录并调用这个方法 也可以在内部方法中运行。这只是为将来在此连接上接收的方法调用设

我正在开发一个Meteor应用程序。我打开了流星壳。我需要做一个快速测试的插入,但我需要假装我作为一个特定的用户进行了身份验证(我知道用户ID)。在meteor shell中,有没有一种方法可以让我在给定用户ID的情况下作为特定用户登录


谢谢大家!

您不能在meteor shell中模拟登录用户

我不确定你们到底在测试什么,但若它是一些关于集合的允许/拒绝规则,那个么试着创建一个方法来完成你们的工作,作为想要的用户登录并调用这个方法


也可以在内部方法中运行。这只是为将来在此连接上接收的方法调用设置userId的值。

meteor shell
允许您访问服务器,而该服务器不绑定到特定的用户会话。相反,您需要从客户端模拟用户(在浏览器中打开控制台)

在客户端上尝试以下操作:

@impersonateUser=(userId)->
Meteor.call“模拟”,用户ID(err,res)->
如果出错
console.log错误
其他的
Meteor.connection.setUserId res.\u id
console.log“正在模拟”+res.emails[0]。地址

在服务器上执行以下操作:

Meteor.methods
模拟:(查询)->
抛出新的Meteor.Error(403,“权限被拒绝”),除非Meteor.user().isAdmin
u=Meteor.users.findOne(查询)
抛出新的Meteor.Error(404,“未找到用户”),除非
@setUserId u.\u id
返回u

然后在客户端上运行
impersonateUser('someUserId')