Если вы используете Meteor.userId()
и Meteor.user()
для идентификации человека в вашем JavaScript вы можете использовать что-то вроде этого, чтобы изменить это на самом верху вашего клиента JS
Meteor.userId = function (impersonate_id) {
return (impersonate_id) ? impersonate_id : Meteor.default_connection.userId();
}
Meteor.user = function (impersonate_id) {
var userId = Meteor.userId(impersonate_id);
if (!userId)
return null;
return Meteor.users.findOne(userId);
}
И теперь, когда вы используете Meteor.userId
или Meteor.user
изменить свой код так везде, где вы используете Meteor.user
& Meteor.userId
принимает аргумент. Поэтому, когда вы хотите выдать себя за пользователя просто передать ему аргумент _id
пользователя, которого вы хотите войти в
Meteor.user("1"); //Loads the data for user with _id 1
Meteor.user(); //Loads the actual logged in user
Кроме того, это будет работать только если вы на самом деле администратор и ваша опубликовывать функция позволяет см. все данные пользователя.
Если вы используете Iron router и используете 'Meteor.user()', чтобы проверить, вошел ли пользователь в функцию waitOn и т. Д. Значит ли это, что вы должны также разместить свои подписки в 'Tracker.autorun'? – MurWade