Ich habe gerade einen Artikel gelesen, wo die ACL-Berechtigungen mit den integrierten Bereichen validiert werden.
Hier ist der Link zu dem genannten Artikel: https://blog.andyet.com/2015/06/16/harnessing-hapi-scopes/
Und schnell wieder aufnehmen (das Beispiel aus dem obigen Link verwenden), erhalten Sie ein Benutzerobjekt, das wie so aussieht:
{
"username": "han",
"scope": ["door-trash-compactor"]
}
Der Bereich kann von dem generiert werden, der Ihre ACL für diesen Benutzer unterstützt. In diesem Fall müssen Sie die Ressource door
mit id trash-compactor
, die wie so überprüft werden kann:
server.route({
method: 'GET',
route: '/doors/{door_id}',
config: {
handler: function (request, reply) {
reply(request.params.door_id ' door is closed');
},
auth: {
scope: ['door-{params.door_id}']
}
}
});
Der Umfang door-{params.door_id}
wird door-trash-compactor
übersetzt werden, die wird dann validiert. Han's Anfrage an die Müllverdichtertür ist gültig und er erhält die Nachricht door is closed
.
Der Blogbeitrag ist gut geschrieben (viel besser als diese Zusammenfassung) und beschreibt dies im Detail - würde das Lesen empfehlen.
Haben Sie etwas gefunden? – srlm
Nein, dieses Projekt ist für den Moment in Wartestellung. Werde hier auf irgendwelche Erkenntnisse zurückkommen. – Adamski