2014-10-31 131 views
0

我定義了一個繼承自loopback的內置User模型的用戶模型,並且我定義了與另一個模型的hasMany關係。 我現在面臨的問題是,無論我做什麼,當我試圖訪問從REST API的關係我得到授權的錯誤,甚至當我定義了以下ACL用戶模式: json { "accessType": "READ", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW" } 從REST API訪問用戶方法

任何想法?

如何才能公開用戶模型的某些方法,以便用戶可以訪問? 在其他模型(不從用戶模型繼承)我不面臨這個問題。

由於

回答

1

的關係噴射方法向物體並且因此需要訪問以執行該方法。當您授予它對READ的訪問權時,它只適用於該模型的屬性,而不適用於需要EXECUTE權限的方法。 試試這個:

{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "__get_relation" 
} 

在屬性PARAM代替「關係」與實際的關係名和「得到」與您希望這個ACL給訪問實際的HTTP方法。

您也可以通過啓動你的應用程序是這樣調試的ACL:

$ DEBUG=loopback:security:acl slc run 
+0

是的,我不得不使用EXECUTE權限。 – 2014-11-14 07:34:44