4

Meteor認証システムでユーザーを「管理者」としてマークし、そのユーザーが特別なことを実行できるようにし、管理者でない場合は表示されないいくつかのGUI要素を表示できるようにしたいと思います。ユーザーオブジェクトに「admin」プロパティを設定しようとしましたが、これはサーバー側で正常に機能します(管理アクションのRPCの場合)が、クライアント側でアクセスしてレンダリングを変更する必要があります。ページに表示され、Meteor.user()オブジェクトを使用して電子メールのみが送信されているように見えます。

基本的な質問:サーバーとクライアントの両方が表示できるユーザー固有のプロパティを割り当てるにはどうすればよいですか?

4

2 に答える 2

7

今後は、データベースの users テーブルに値を割り当てるだけです。以下を使用して、追加のフィールドをユーザーに公開できます。

Meteor.publish("userData", function () {
     return Meteor.users.find({_id: this.userId}, {fields: {'admin': 1}});
});

そしてクライアント上で:

Meteor.subscribe("userData");

ふふ。ドキュメントから直接。

于 2013-02-27T03:52:34.613 に答える
0

ユーザーの「プロファイル」属性にプロパティを追加することもできます。profile 属性は、クライアント側にすでに入力されています。

Meteor.users.update({_id: userId}, {$set: {'profile.admin': 1}});

//on client side
Meteor.user().profile.admin
于 2014-07-01T15:08:13.157 に答える