2016-05-17 83 views
1

極限後訪問我非常新的解析和我剛剛安裝一個parse-serverparse-dashboard對REST API(認證)

我想,當我叫POST限制REST API的訪問(對於諸如http://localhost:1337/parse/classes/posts的網址)僅限於某些用戶。

要做到這一點,我已經設置與管理員名稱的角色,並添加到

我創建了ACL有了這個用戶的:

var posts = new Parse.Object("posts"); 
var postsACL = new Parse.ACL(); 

postsACL.setRoleWriteAccess("Administrator", true); 

posts.setACL(posts); 

posts.save(); 

在此之後,我已經運行另一個腳本一個用戶添加到此角色:

Parse.User.logIn("username", "password", { 
    success: function(user) { 
    console.log('User logged in'); 
    var role = new Parse.Role("Administrator", new Parse.ACL()); 
    role.getUsers().add(user); 

    role.save(); 

    console.log('Role saved'); 
    }, 
    error: function(user, error) { 
    console.log('Login failed'); 
    } 
}); 

如果我檢查瞭解析儀表盤我看到有一個角色叫管理員,如果我點擊用戶我看到我的用戶。

但是,當我嘗試發表帖子(與Postman)我能夠插入帖子集合而無需驗證。

有人可以幫助我嗎?

+0

http://blog.parse.com/learn/secure-your-app-one-class-at-a-time/ docs應該有什麼你想限制類訪問 –

回答

0

您設置的acl只適用於該對象。我認爲課堂級別許可是你想要的。 http://blog.parse.com/learn/secure-your-app-one-class-at-a-time/

順便說一句,可以在沒有儀表板的情況下修改這些權限。 https://github.com/ParsePlatform/Parse-Server/wiki/Compatibility-with-Hosted-Parse#class-level-permissions

+0

是的!昨天經過很多搜索,我發現我的ACL與單行相關,而不是在課堂級別。我已經將此更改爲CLP,但現在我無法執行REST API調用。我設置了基本身份驗證,但我甚至得到錯誤119-未經授權...... – Mistre83

+1

您的請求標題應該包含X-Parse-Session-Token,它是您的管理員用戶的標記。登錄後你可以得到它(sessionToken或類似的東西)。 curl -X GET \ -H「X-Parse-Application-Id:appId」\ -H「X-Parse-REST-API-Key:key」\ -H「X-Parse-Session-Token :tokenOfAdminUser「\ https://api.parse.com/1/classes/Test – ChunTingLin

+0

Mhhh ...所以我不能使用Postman來舉例這個調用(我使用過API客戶端,我看過這個X-解析會話令牌)。所以,現在我需要一種方法來通過Java進行調用(因爲我必須編寫一個將執行POST的Java程序)。我將嘗試做一個簡單的LOGIN調用登錄端點,然後進行調用。解析不具有Java API – Mistre83