Tôi đang tạo API có các cấp truy cập khác nhau, 'khách hàng' chỉ có thể đọc. Nhưng 'admin' phải có quyền ghi. Các vai trò khác nhau được kiểm tra mỗi lần như một chính sách trong Sails.js và thiết lập các quyền trong req.session.Xác thực Sails.js cho các tác vụ mô hình
Tôi chỉ cần cung cấp cho 'khách hàng' không có quyền truy cập để tạo, cập nhật và xóa hành động, do đó tôi đã tạo một bộ điều khiển có các hành động CRUD và kiểm tra đó nếu người dùng có vai trò đúng. Tất cả các hành động bị hạn chế truy cập được chuyển hướng trough routes.js đến bộ điều khiển này.
Bây giờ vấn đề của tôi là khi tôi xóa một mục như: Category.destroy (req.param ('id')); Cung cấp cho tôi không xác định và không có phương thức thực hiện. Không giống như các tài liệu được tôi đề cập đến để khắc phục sự cố bằng cách tạo tài liệu này:
var deleted = Category.destroy(req.param('id'), function(err, status) {
if (status == 1){
res.json({message: 'Category is deleted'});
} else {
res.json({message: 'Oops, something went wrong'});
}
});
Nhưng phải có cách khác để áp dụng xác thực cho những hành động cơ bản đó. Bởi vì bây giờ tôi đã viết tất cả các hành động.
Có điều gì sai với mã cho chức năng xóa mà tôi đã viết không? Và có thể áp dụng các chính sách và chuyển hướng đến các hành động mô hình mặc định, như thể không có xác thực nào cả?
Cảm ơn câu trả lời của bạn. Tôi nghĩ rằng việc định tuyến lại trong các cánh buồm là một phần của các hành động không hoạt động chính xác. Bây giờ với viết mới nó hoạt động như nó cần. Nhưng cảm ơn bạn đã dành thời gian! – Loed