Chúng tôi muốn sử dụng Firepad trong dự án của chúng tôi (chủ yếu là không phải Firebase), nhưng chúng tôi đang gặp một số khó khăn để tìm ra cách tốt nhất để tiếp cận vấn đề.An ninh và Mảng JSON Firebase
Về cơ bản, chúng tôi có nhiều người dùng và mỗi người dùng có thể là thành viên của nhiều nhóm. Những "nhóm" này đều có Firepad của riêng mình mà người dùng có thể chỉnh sửa. Chúng tôi đã có một cấu trúc cơ sở dữ liệu phát triển sâu sắc bằng cách sử dụng MySQL và không thực sự muốn di chuyển dữ liệu người dùng của chúng tôi vào Firebase ngay bây giờ, vì vậy chúng tôi nhận thấy chúng tôi sẽ sáng tạo hơn.
Chúng tôi không muốn người dùng có thể chỉnh sửa Bảng điều khiển của nhóm mà họ không thuộc về. Như vậy, như một phần của mã thông báo xác thực của chúng tôi, chúng tôi đã tìm ra rằng chúng tôi sẽ thử gửi cùng ID người dùng và danh sách các nhóm mà họ thuộc về. Sau đó, bằng cách sử dụng hệ thống bảo mật JSON Firebase, chúng tôi có thể xác minh rằng Firepad hiện đang được chỉnh sửa nằm trong danh sách nhóm người dùng thuộc về.
Vấn đề là, hệ thống JSON dường như không chấp nhận nhiều lệnh. Không có indexOf và tôi không thể gọi số hasChild
trên biến số auth
.
Làm cách nào để chúng tôi có thể đảm bảo rằng người dùng chỉ có thể chỉnh sửa Firepad của các nhóm mà họ thuộc về, mà không cần di chuyển tất cả dữ liệu của chúng tôi sang Firebase? (Hoặc duy trì hai bản sao của cơ sở dữ liệu - một trên MySQL và một trên Firebase)
Bingo. Có lẽ tôi nên nghĩ về điều đó, nhưng làm rõ rằng việc truy cập các thành viên bằng dấu ngoặc vuông có sẵn là hữu ích. Cảm ơn bạn! –
Mike, các bạn có thực hiện bất kỳ cải tiến nào trong lĩnh vực này không? Có bất kỳ tài liệu nào mô tả những chức năng nào có sẵn cho biến auth không? – Samuel
@Samuel Không có thay đổi cụ thể ở đây. Nói chung, auth không có bất kỳ chức năng nào, nó chỉ là dữ liệu trong mã thông báo xác thực của bạn. Chỉ có "hàm" có sẵn là nếu bạn có một chuỗi trong dữ liệu auth của mình, có một vài phương thức cho kết hợp chuỗi con/regex, v.v. https://www.firebase.com/docs/security/api/string/ –