Nếu ai là người lập trình thì có thể hiểu rõ sự khác biệt giữa phân quyền cấp danh mục khó hơn phân quyền cấp module. Còn những người khác e là khá khó để hiểu. Vì vậy, thiết kế website Tất Thành viết bài này để giúp khách hàng khi có nhu cầu thiết kế website có thể hiểu rõ. Các bạn tư vấn thiết kế website cũng có thể hiểu để tư vấn khách hàng.
Về mặt cơ chế phân quyền thì có thể có một vài cấp độ cơ bản sau:
  1. Phân quyền cho phép truy cập hay không truy cập vào toàn bộ các module của website.

  2. Phân quyền cho phép truy cập vào một hoặc một vài module của website.

  3. Phân quyền cho phép truy cập cấp danh mục của một vài module của website.

  4. Phân quyền cho phép một hoặc tất cả các quyền: truy cập, xem, sửa, xóa, duyệt,…

Để mà đi sâu thì còn nhiều cấp độ phân quyền khác nhau. Trong bài viết này, chúng tôi chỉ nêu ra một vài tình huống hay gặp phải đối với khách hàng và nhân viên tư vấn. Còn chúng tôi không liệt kê cho cấp độ chuyên gia các bạn nhé. Bởi chuyên gia thì nên ngồi code, chứ không cần phải đọc bài viết này đâu :D.

1. Phân quyền cho phép truy cập vào toàn bộ các module của website

Việc truy cập đây có thể tiếp tục được phân ra làm các quyền như: 
 
  • Truy cập vào
  • Được xem thông tin
  • Được phép sửa thông tin
  • Được phép xóa thông tin
  • Được phép xét duyệt thông tin
Để đi sâu vào các quyền trên thì hơi phức tạp đối với việc tìm hiểu kiến thức website. Nên chúng tôi tạm coi là có quyền truy cập là có tất cả các quyền trên các bạn nhé.

Đối với cấp độ phân quyền này thì bạn có thể hiểu như sau. Bạn có một tòa nhà. Trong mỗi tòa nhà thì có nhiều tầng. Mỗi tầng thì có nhiều căn hộ. Mỗi căn hộ thì có nhiều phòng. Quyền cấp độ truy cập toàn bộ. Tức là khi bạn có quyền này thì bạn có thể có chiếc chìa khóa vạn năng, có thể mở cửa của cả tòa nhà, của tất cả các tầng, các nhà, các phòng vậy. Và tất nhiên, khi vào được bên trong thì bạn có thể làm bất kỳ điều gì mình muốn.
  
Tài khoản được phân quyền cho phép truy cập toàn bộ module của website

Về mặt hệ thống thì chỉ chỉ xử lý ở cấp độ truy cập vào trong tòa nhà. Còn sau khi đã được phê duyệt truy cập vào tòa nhà thì có thể coi là thả cửa, không quản lý nữa. Admin thích làm gì thì làm. Vì không phải xử lý nhiều tình huống, nhiều trường hợp. Nên cách phân quyền này ở mức độ đơn giản nhất. Đại đa số các website đều được xử lý kiểu này. Chỉ cần đơn vị thiết kế website bảo mật tốt, người quản lý không để lộ thông tin quản trị thì website cũng đã được bảo mật khá tốt. Người lạ không dễ gì truy cập được vào bên trong website, tòa nhà.

2. Phân quyền cho phép truy cập vào một hoặc vài module có trong website

Điều này có thể hiểu như việc tại mỗi tầng của tòa nhà. Bạn có thể lắp thêm một khóa tầng vậy. Người có thể vào tòa nhà, nhưng không có chìa khóa tầng thì họ chỉ có thể đi lại ở các khu vực chung như hành lang, cầu thang, các phòng sử dụng chung vậy. Nếu linh động thì cũng có thể coi quyền này cho phép đi vào trong các căn hộ nếu coi mỗi căn hộ đó là một module chẳng hạn.

Vì các tính năng website thường là cố định. Thế nên việc phân quyền cũng có thể coi là không quá quá khó. Nó giống như việc, bạn cấp cho một người có chìa để vào tòa nhà, có chìa để lên các tầng, có chìa để vào mỗi căn hộ vậy. 

Các hệ thống quản lý website thì cấp độ phân quyền có thể thấp hơn. Tức khi đã được cấp quyền truy cập vào cấp phòng thì họ có thể có quyền để làm mọi thứ trong các căn hộ mà họ đã được quyền vào. 
 
  
Cấp quyền truy cập vào module blog

3. Phân quyền cho phép truy cập vào cấp danh mục của một vài module của website

Cấp độ phân quyền này bắt đầu trở lên khá khó. Khó bởi điểm là các danh mục trong mỗi module website là động. Động tức là đã có hoặc chưa có. Hệ thống phân quyền sẽ phải được lập trình để tổ chức, xử lý cho những danh mục dự kiến có thể được tạo ra, rồi các danh mục được sửa hay đã bị xóa đi thì sao?

Việc cấp quyền để cho phép xử lý các yếu tố động là rất khó. Nó cũng giống như việc bắn súng vậy. Nếu bắn vào một điểm đích cố dịch thì thường dễ hơn nhiều việc bắn vào một biển di động. Di động thức có nhiều yếu tố tác động vào đối tượng đó. Khi đó bài toán sẽ trở lên khó hơn.

Vì vậy, khi không thực sự cần thiết thì không nên làm các tính năng quản lý cấp danh mục. Chỉ cần quản lý cấp module là đã rất tốt rồi. Điều này giúp tránh phát sinh của hệ thống, giúp tiết kiệm chi phí. Việc build các tính năng quản lý quá phức tạp thường tiềm ẩn các lỗi làm lỗi hệ thống, lỗi website. Điều này sẽ làm ảnh hưởng đến hoạt động của website, hoạt động kinh doanh của bạn hoặc bạn sẽ phải nâng cấp website một cách toàn diện.
 
Cấp quyền truy cập vào một số danh mục trong số các danh mục của module blog

4. Phân quyền cho phép có một hoặc tất cả các quyền: truy cập, xem, sửa, xóa duyệt

Bạn có thể thấy Google Drive của Google đang có các tính năng dạng này. Một vài hệ thống quản lý siêu lớn cũng mới có các tính năng dạng này. Tất nhiêu chi phí để đơn vị phát triển hệ thống, phát triên website tạo ra các hệ thống này là cực lớn. Khách hàng cũng phải bỏ chi phí lớn để sở hữu các hệ thống này. 

Khi sự móc nối càng chằng chéo, liên quan đến nhiều tài khoản, nhiều module, nhiều chức năng thì hệ thống càng khó. Nó như một mối quan hệ loằng ngoằng phức tạp vậy. Càng nhiều người và những người trong mối quan hệ đó có các sợi dây liên kết thì các mối quan hệ đó càng phức tạp. Khi có một vấn đề nào đó phát sinh thì tất nhiên việc xử lý phức tạp vì việc đó thường liên quan đến nhiều người. Để hiểu đơn giản là như vậy.

Nó cũng giống như bài toán tòa nhà và căn hộ mà Tất Thành có nói ở trên vậy. Nếu bạn ở một nhà riêng, mảnh đất riêng sẽ ít vấn đề phát sinh hơn việc bạn ở nhà chung cư. Có nhiều không gian chung, dịch vụ chung, dưới sự quản lý chung mà lại vẫn có yếu tố riêng. Nhìn chung sẽ phức tạp hơn nhiều.
  

Tất cả các quyền xem, thêm mới, ẩn/hiện, chỉnh sửa, xóa, quản lý được lựa chọn

Thông thường thì website không cần đến các tính năng quản lý phức tạp đến như vậy. Chỉ có các hệ thống website thuộc hệ thống sàn thương mại điện tử mới cần các tính năng phức tạp như trên. Tất nhiên chi phí xây dựng và phát triển hệ thống phải tính theo đơn vị xxx tỷ rồi :). 

Sơ sơ là vậy. Chắc bạn đã hiểu hơn về phân quyền, quản trị website rồi đúng không :). 

Nếu bạn có nhu cầu thiết kế website bán hàng, thiết kế website công ty hay cần báo giá thiết kế website bán hàng thì hãy liên hệ với Tất Thành theo thông tin dưới đây bạn nhé. 

Chúc các bạn thành công!