【发布时间】:2015-10-05 19:56:56
【问题描述】:
我想发布一些关于我的用户的有限用户信息,想法是我的网络应用程序的管理员角色可以查看电子邮件地址和用户名(最后一个在个人资料数据中)。
Meteor.publish("usersSpecificDataforAdmin", function () {
return Meteor.users.find({}, {fields: {
'profile': 1,
'emails': 1,
'roles': 1
}});
}); 然后我在我的路由器中订阅这个:
adminRoutes.route('/users', {
name: 'adminUsersList',
subscriptions: function (params, queryParams) {
this.register('adminUsersList', Meteor.subscribe('usersSpecificDataforAdmin'));
},
action: function (params, queryParams) {
BlazeLayout.render('layout_frontend', {
top: 'menu',
main: 'adminUsersList',
footer: 'footer'
});
}
});
在模板中,我使用以下内容来显示用户的电子邮件地址:'{{emails.address}}',但这不起作用。我可以显示所有其他信息。
我有以下问题:
- 如何在模板中显示用户的电子邮件地址
- 即使我没有在发布中添加密码或服务字段,它也会发送给客户端(执行 Meteor.user())会泄露所有信息,包括密码等,这是我的一个安全问题观点。如何禁用此发布?
【问题讨论】:
标签: meteor