Hôm trước trên diễn đàn các Pro đã có bài phân quyền sử dụng Menu Access rất hay. Hôm nay tmtien261 xin chia sẽ phương pháp củ chuối để các Acc cùng cười nhé !
1.Lý do làm theo PP này:
Mình làm "Tiện ích" quản lý bán hàng. Nên "Tiện ích" phải mở thường xuyên. Vì thế nếu phần quyền khi đăng nhập thì gặp nhiều khó khăn trong việc bảo mật (Nếu Admin quên đóng) cũng như phải đăng nhập lại mỗi khi muốn "Mở chức năng của Admin"....
2. Kết cấu:
- Tạo table UsysRibbons hiển thị Menu (Theo hướng dẫn trên Diễn đàn).
- Tạo table DanhsachNSD gồm: ID, MaNSD, Matkhau, TenNSD, Quyenmoform1, Quyenmoform1 (Có thể thêm các field mỗi field tương ứng với tên mỗi quyền).
- Tạo Form frmKiemtrachucnang gồm: txtMadangnhap, txtMatkhauphanquyen, txtTenform, txtTenchucnang, btnThuchien, btnThoat
- Tạo macro hành động mỗi khi Click vào Menu (Macro tabNhaphang).
3.Cách hoạt động:
- Khi Click vào Menu thì tùy theo chức năng cài đặt trong Macro sẽ mở Form frmKiemtrachucnang (Và settempvars cho txtTenform và txtTenchucnang của frmKiemtrachucnang để kiểm tra "Quyền mở ... của User).
- Khi Click btn Thực hiện trên form frmKiemtrachucnang thì:
+ Kiểm tra xem txtMadangnhap, txtMatkhauphanquyen, txtTenchuchucnang của form với MaNSD, Matkhau, Quyen trong table DanhsachNSD có khớp không:
* Nếu txtMadangnhap, txtMatkhauphanquyen, txtTenchuchucnang khớp thì mở form có tên là txtTenform.
* Nếu txtMadangnhap, txtMatkhauphanquyen khớp, txtTenchucnang không khớp (False) thì thông báo: "User không được mở".
* ...
4. Đây là demo.
Demo
Xin chia sẽ để các Pro cùng Acc cũng cười !
Thân chào !