Tôi vừa đọc một bài viết trong đó quyền ACL được xác thực bằng cách sử dụng phạm vi tích hợp.
Dưới đây là liên kết đến bài viết đề cập: https://blog.andyet.com/2015/06/16/harnessing-hapi-scopes/
Và để tiếp tục một cách nhanh chóng (sử dụng ví dụ từ liên kết ở trên), bạn sẽ có được một đối tượng người dùng mà trông giống như vậy:
{
"username": "han",
"scope": ["door-trash-compactor"]
}
Phạm vi có thể được tạo ra bởi bất cứ điều gì là sao lưu ACL của bạn cho người dùng này. Trong trường hợp này bạn có tài nguyên door
với id trash-compactor
có thể được kiểm tra như sau:
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}']
}
}
});
Phạm vi door-{params.door_id}
sẽ được dịch sang door-trash-compactor
mà sau đó sẽ được xác nhận. Yêu cầu của Han đến cửa máy đầm rác sẽ hợp lệ và anh ta sẽ nhận được thông báo door is closed
.
Bài đăng trên blog được viết tốt (tốt hơn nhiều, sau đó tóm tắt này) và mô tả chi tiết hơn - khuyên bạn nên đọc.
Bạn có tìm thấy gì không? – srlm
Không, dự án đó đang được giữ trong thời điểm này. Sẽ đăng lại ở đây trên bất kỳ phát hiện nào. – Adamski