Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Thực hành thiết kế cơ sở dữ liệu cho phép vai trò người dùng tốt nhất?

Như krokodilko đã viết trong nhận xét của mình, điều đó phụ thuộc vào mức độ linh hoạt mà bạn cần.
Tôi đã triển khai các quyền dựa trên vai trò cho một trong những khách hàng của mình như sau:

  1. Người dùng (id người dùng (PK), tên người dùng (duy nhất), mật khẩu ( muối và băm! ), tên, họ, điện thoại, v.v. ')
  2. Vai trò (id vai trò (PK), tên vai trò (duy nhất), mô tả vai trò)
  3. Quyền (id quyền (PK), tên quyền (duy nhất)) - các tab / màn hình / hành động ở đây
  4. Người dùng đảm nhiệm vai trò (id người dùng, id vai trò) - PK là cả hai cột được kết hợp với nhau
  5. Vai trò đối với quyền (id vai trò, id quyền) - PK là cả hai cột được kết hợp với nhau

Nhưng yêu cầu của tôi là phải linh hoạt nhất có thể và đó là một hệ thống vẫn đang phát triển (6 năm và tiếp tục tăng).

Tôi đoán rằng rất nhiều ứng dụng có thể có người dùng đóng vai trò là mối quan hệ một với nhiều, thay vì nhiều với nhiều như trong trường hợp của tôi, nhưng tôi sẽ không khó mã hóa các quyền hoặc vai trò đối với các quyền trong bất kỳ ứng dụng nào.

Giải thích thêm: Thiết kế cơ sở dữ liệu bảo mật dựa trên vai trò về Điều gì # tôi biết?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xử lý MAX () của một bảng trống là 0 thay vì NULL

  2. Cách xử lý lệnh gọi Thủ tục lưu trữ Oracle với Các kiểu Oracle làm đầu vào hoặc đầu ra bằng EclipseLink

  3. vượt qua giới hạn 32k khi chèn tham số oracle clob IN bằng Spring StoredProcedure

  4. Sử dụng truy vấn con trong câu lệnh Kiểm tra trong Oracle

  5. Có thể làm tràn kiểu Oracle NUMBER không?