2017-08-17 2 views
0

Ich habe Loopback-App und ich habe Modellnamen Foto. Ich arbeite an meinem lokalen Host und versuche das Post in Photos-Modell zu schreiben und es funktioniert einwandfrei. Jedoch, wenn ich es erstelle und versuche, auf on-line-Server zu POST zu setzen, erhalte ich Berechtigungserfordernisfehler.Loopback POST-Methode funktioniert nicht

Mein acl sieht wie folgt aus:

"acls": [ 
{ 
    "accessType": "*", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "DENY" 
}, 
{ 
    "accessType": "*", 
    "principalType": "ROLE", 
    "principalId": "admin", 
    "permission": "ALLOW" 
}, 
{ 
    "accessType": "*", 
    "principalType": "ROLE", 
    "principalId": "$owner", 
    "permission": "ALLOW" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "findById" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "__get__comments" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "__count__comments" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "__get__likes" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "__count__likes" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$authenticated", 
    "permission": "ALLOW", 
    "property": "__create__comments" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": "find" 
}, 
{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$authenticated", 
    "permission": "ALLOW", 
    "property": "create" 
} 
+0

Ich denke, sollten Sie zunächst ohne ACL die Strecke testen. Wenn es funktioniert, können Sie zum nächsten Schritt gehen und ACL hinzufügen. Könnten Sie auch Ihre Route und ihre Parameter einbeziehen? –

Antwort

0

Zuerst einige Bereinigungs: Sie können viele ähnliche ACLSs in einem einzigen Block kombinieren:

{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "$everyone", 
    "permission": "ALLOW", 
    "property": [ 
    "find", 
    "findById", 
    "__get__likes", 
    "__get__comments", 
    "__count__likes", 
    "__count__comments" 
    ] 
}, 

... und zweitens: Sie sind angemeldet wenn Sie versuchen, Ihre Anfrage auf Ihrem Server zu stellen? Überprüfen Sie, ob das Autorisierungs-Token gesendet wird und gut ist. Gleiche Datenbank oder andere Datenbank von Ihrem localhost?

+0

YeeHaw1234 Ja, ich bin eingeloggt und versuche dann zu posten und die Autorisierung zu senden. die beiden Datenbanken sind MySQL –

+0

Leider habe ich keine schnelle Antwort. Mein einziger Vorschlag ist mehr Debugging. Wenn Sie Zugriff auf die Konsole Ihres Servers haben, führen Sie Loopback mit dem folgenden Befehl aus: DEBUG = Loopback: security: access-context. Dadurch werden Informationen zur Sicherheitsprüfung angezeigt und Sie können sehen, wer genau angemeldet ist und welche Methode den Fehler AUTHORIZATION_REQUIRED auslöst – YeeHaw1234

Verwandte Themen