有这样的事吗?
service cloud.firestore {
match /databases/{database}/documents {
function isClaims(claim) {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.claims[claim];
}
match /foo/{id} {
allow get;
allow list: if request.query.limit <= 111;
allow write: if isClaims("foo") == true
// && ensure request.resource.data does not contain certain HTML tags here;
}
...
注:
如果您想阻止某些 HTML 标签存储在 Firestore 中,我建议您根据 Google RE2 语法使用正则表达式。因此,要实现此目标,我建议您查看 Cloud Firestore 规则参考,您可以在其中找到 matches() 方法。此方法将允许您根据 REGEX 检查值。