2015-12-03 27 views
0

我對Strongloop沒有太多經驗,但也許有人可以讓我走向正確的方向。如何保護記錄級別的數據?

在我的模型中,我有客戶的信息。客戶必須有權訪問自己的記錄,但不能訪問其他客戶的記錄。我怎樣才能做到這一點?

回答

0

Strongloop ACL可以在模型中定義的JSON輕鬆定義:

"acls": [ 
    { 
     "accessType": "*", 
     "principalType": "ROLE", 
     "principalId": "$everyone", 
     "permission": "DENY" 
    }, 
    { 
     "accessType": "EXECUTE", 
     "permission": "ALLOW", 
     "principalType": "ROLE", 
     "principalId": "$owner", 
     "property": "findById" 
    } 
] 

的定義ACL拒絕任何人訪問模式,讓主人閱讀。

請注意,必須有一個模型列userId以獲取buit-in $owner principal id工作。

ACL定義文件:https://docs.strongloop.com/display/public/LB/Model+definition+JSON+file#ModeldefinitionJSONfile-ACLs先進的ACL控制

官方示例項目: https://github.com/strongloop/loopback-example-access-control

+0

謝謝彼得,這是非常有幫助!您是否也知道我可以如何讓人們根據我創建的角色訪問模型中的一組記錄?在這種情況下,我是否需要一個特殊的列而不是列「userId」? –

+0

你可以使用'Role'和'RoleMapping'來分組用戶:https://docs.strongloop.com/display/public/LB/Defining+and+using+roles –