W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
適用于 ?Moralis.User
? 的相同安全模型可以應用于其他對象。 對于任何對象,您可以指定允許哪些用戶讀取和/或修改該對象。 為了支持這種類型的安全性,每個對象都有一個訪問控制列表,由 ?Moralis.ACL
? 類實現(xiàn)。
使用 ?Moralis.ACL
? 的最簡單方法是指定對象只能由單個用戶讀取或寫入。 這是通過使用 ?Moralis.User
? 初始化 ?Moralis.ACL
? 來完成的:?new Moralis.ACL(user)
? 生成一個 ?Moralis.ACL
?,限制對該用戶的訪問。 與任何其他屬性一樣,保存對象時會更新對象的 ?ACL
?。 因此,要創(chuàng)建一個只能由當前用戶訪問的私人筆記:
const Note = Moralis.Object.extend("Note");
const privateNote = new Note();
privateNote.set("content", "This note is private!");
privateNote.setACL(new Moralis.ACL(Moralis.User.current()));
privateNote.save();
然后,只有當前用戶可以訪問此注釋,盡管該用戶登錄的任何設備都可以訪問它。此功能對于您希望跨多個設備訪問用戶數(shù)據的應用程序很有用,例如個人待辦事項。
也可以按用戶授予權限。 您可以使用 ?setReadAccess
?和 ?setWriteAccess
?將權限單獨添加到 ?Moralis.ACL
?。 例如,假設您有一條消息將發(fā)送給由多個用戶組成的組,其中每個用戶都有權閱讀和刪除該消息:
const Message = Moralis.Object.extend("Message");
const groupMessage = new Message();
const groupACL = new Moralis.ACL();
// userList is an array with the users we are sending this message to.
for (let i = 0; i < userList.length; i++) {
groupACL.setReadAccess(userList[i], true);
groupACL.setWriteAccess(userList[i], true);
}
groupMessage.setACL(groupACL);
groupMessage.save();
您還可以使用 ?setPublicReadAccess
?和 ?setPublicWriteAccess
?一次向所有用戶授予權限。 這允許在留言板上發(fā)表評論等模式。 例如,要創(chuàng)建一個只能由其作者編輯但任何人都可以閱讀的帖子:
const publicPost = new Post();
const postACL = new Moralis.ACL(Moralis.User.current());
postACL.setPublicReadAccess(true);
publicPost.setACL(postACL);
publicPost.save();
被禁止的操作(例如刪除您沒有寫入權限的對象)會導致 ?Moralis.Error.OBJECT_NOT_FOUND
? 錯誤代碼。 出于安全目的,這可以防止客戶端區(qū)分哪些對象 ID 存在但受到保護,哪些對象 ID 根本不存在。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: