01/10/2018, 16:59

Hỏi cách phân quyền người dùng trong ứng dụng phần mềm

Xin chào mọi người, giữa 2 cách phân quyền ứng dụng

Cách 1: Để phần mềm xử lý phân quyền và toàn bộ ứng dụng chạy trên 1 user admin duy nhất.
Ví dụ: Mình có 1 phần mềm kế toán và phần mềm này chỉ sử dụng 1 tài khoản Amin duy nhất để Connection đến Database. Trong database sẽ chứa 1 bảng dùng để lưu trữ thông tin người dùng để đăng nhập phần mềm và 1 bảng dùng để lưu trữ thông tin phân quyền.
Khi người dùng sử dụng phần mềm thì phần mềm sẽ chạy các đoạn code xử lý để truy vấn vào 2 bảng dữ liệu trên sql để biết được và xử lý phân quyền. Đương nhiên, nhiều user với mỗi vai trò khác nhau nhưng đều đang sử dụng 1 tài khoản connection duy nhất kết nối với Database
Nói chung cách này là nhiều user trên phần mềm nhưng 1 user ở database

Cách 2: Tạo ra mỗi user ở Database tương ứng với mỗi user được tạo trên phần mềm. Tương ứng là ta sẽ phân quyền trực tiếp cho user đó ở trên database luôn

Theo mọi người thì ưu và nhược điểm của mỗi cách trên là gì nhỉ? Phương pháp nào dữ liệu sẽ nhanh hơn? ít lỗi hơn? dễ mở rộng phần mềm?..

Văn Dương viết 19:03 ngày 01/10/2018

User kết nối database và user sử dụng chức năng phần mềm đâu liên quan gì nhau ?

Cách thức là tạo 1 bảng user (mang thông tin về username, pass, options). Trên phần mềm chỉ cần truy vấn theo tên user để biết chức năng nào được sử dụng.

Thống viết 19:01 ngày 01/10/2018

Có bác Van Duong đã nói rồi, mình chỉ nói nôm na lại là
-Database chỉ chứa dữ liệu, và trả về dữ liệu
-Nơi bạn gõ code để truy vấn đến database đó mới là nơi thực hiện phân quyền
Ví dụ như database trả về bàng User-có cột role = 1(admin) role =2 (user thông thường), datatbase trả về bảng user có role = 1 thì được làm gì đó, =2 thì được làm gì đó.
cách 1 của bạn: mình ko biết bạn phân quyền như nào với 1 tài khoản chung. nên ưu nhược điểm là không biết phải nói như nào.
tất nhiên chỉ còn cách 2 của bạn là khả quan.

Bài liên quan
0