thắc mắc Cách thiết kế database cho hệ thống lớn

  • Người tạo chủ đề Người tạo chủ đề buiduchanh1995
  • Ngày bắt đầu Ngày bắt đầu
Các bác cho em hỏi là khi muốn kiểm tra quyền thì mình thường check User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); rồi sau đó dùng left join để xem ngược lại từ bảng cần kiểm tra quyền về bảng cần user rồi check xem 2 id có trùng hay không. Vậy trong trường hợp bảng mình cần check quyền đấy nó ở rất xa bảng user tầm 10 bảng trở lên thì có giải pháp gì không các bác . Nếu cứ join 10 bảng lại với nhau em thấy nó k ổn lắm :(
 
Các bác cho em hỏi là khi muốn kiểm tra quyền thì mình thường check User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); rồi sau đó dùng left join để xem ngược lại từ bảng cần kiểm tra quyền về bảng cần user rồi check xem 2 id có trùng hay không. Vậy trong trường hợp bảng mình cần check quyền đấy nó ở rất xa bảng user tầm 10 bảng trở lên thì có giải pháp gì không các bác . Nếu cứ join 10 bảng lại với nhau em thấy nó k ổn lắm :(
Flat nó ra thím, về bản chất thì mọi việc phân quyền đều là:
USER can DO ST on RESOURCE => Ví dụ USER001 có thể Sửa file Báo cáo 01
Vậy dù qua N bảng trung gian thì cuối cùng đích tới cũng giống nhau:

USER001 - EDIT - BÁO CÁO 01
USER001 - VIEW - BÁO CÁO 02
 

Thống kê chủ đề

Ngày tạo
buiduchanh1995,
Người trả lời cuối
Love U So Much,
Trả lời
63
Lượt xem
16.419
Quay lại
Lên đầu trang