0
私はSimpleSchema(node-simpl-schema
パッケージ)を同形の方法で使用しています。検証メッセージはクライアント上に表示され、meteor shell
からも表示されます。SimpleSchemaで検証し、許可/拒否ルールを使用しないことは安全ではありませんか?
私の質問は、このセットアップが実際に安全かどうか、また許可/拒否ルールも書き込む必要があるかどうかです。例えば
:
SimpleSchema.setDefaultMessages
messages:
en:
"missing_user": "cant create a message with no author"
MessagesSchema = new SimpleSchema({
content: {
type: String,
label: "Message",
max: 200,
},
author_id: {
type: String,
autoform:
defaultValue: ->
Meteor.userId()
custom: ->
if !Meteor.users.findOne(_id: @obj.author_id)
"missing_user"
},
room_id: {
type: String,
}
}, {tracker: Tracker})
meteor shell
では、私はそれをテストし、意図したとおりにそれが動作します。
> Messages.insert({content: "foo", author_id: "asd"})
/home/max/Desktop/project/meteor/two/.meteor/local/build/programs/server/packages/aldeed_collection2-core.js:501
throw error; // 440
^
Error: cant create a message with no author
許可/拒否ルールにこの検証ロジックを複製する必要がありますか?または、私が今やっているように、allow
関数が常にtrue
を返すようにすることはできますか?
ご返信ありがとうございます。 > が MessagesSchema.validate私はそれが良いことを理解その後、偽 –
Messages.allow 挿入:現在、私は、この最小限の許可機能を持っています設計パターンの観点から、許可/拒否の代わりにメソッドを使用します。しかし、もし私が単にSimpleSchemaを使うことができるのであれば、厳密に言えば方法も許可/拒否も必要ではありません。私はこれが実際にそうであるかどうか、あるいはサーバ上の 'SimpleSchema'ルールが何とかオーバーライドできるかどうかを知りたいと思います。 –
(メッセージ) 真 キャッチeを試す - (userIdを、メッセージ、フィールド、修飾子): –