Tôi đang thiết lập một dịch vụ web RESTful mới và tôi cần cung cấp mô hình kiểm soát truy cập dựa trên vai trò . Tôi cần tạo một kiến trúc cho phép người dùng cung cấp tên người dùng và mật khẩu của họ để có quyền truy cập vào các dịch vụ và sau đó hạn chế cách họ có thể sử dụng các dịch vụ (dịch vụ họ có thể sử dụng, đọc so với đọc / ghi, v.v.) dựa trên vai trò giao cho người dùng đó.
Tôi đã xem xét xung quanh các câu hỏi khác và tìm thấy những phần tôi muốn. Ví dụ, có một số cuộc thảo luận tuyệt vời về cách xử lý việc chuyển thông tin đăng nhập sang dịch vụ REST một cách xác thực , thực tiễn tốt nhất . Ngoài ra còn có một số gợi ý tuyệt vời về những gì lập trình viên nên biết khi tạo trang web ( điều mà mọi nhà phát triển nên biết trước khi xây dựng một trang web công cộng ).
Nhưng tôi đã không thể tìm thấy một bài viết, bài viết, cuốn sách hay về các thực tiễn và mô hình tốt nhất cho kiến trúc phần mềm thực hiện các giải pháp này.
Đặc biệt:
- Làm thế nào nên lưu trữ thông tin người dùng và quyền truy cập? (mô hình dữ liệu, vị trí, định dạng)
- Các mẫu thiết kế tốt để đại diện và theo dõi chúng trong máy chủ là gì? (phiên trong bộ nhớ, tra cứu db mỗi lần, v.v.)
- Các mẫu tốt để ánh xạ các quyền này đến các dịch vụ một cách an toàn trong cơ sở mã là gì?
- Lựa chọn kiến trúc nào có thể giúp giữ cho hệ thống an toàn và đáng tin cậy hơn?
- Những bài học nào mọi người có được từ các chiến hào?
Tôi đang tìm kiếm các mẫu thiết kế và đề xuất cho kiến trúc phần mềm bên ngoài bất kỳ công nghệ cụ thể nào.
(Nếu các công nghệ có vấn đề, tôi đang lên kế hoạch thực hiện điều này bằng cách sử dụng python, twist và cơ sở dữ liệu postgresql)