-
Phân quyền (Phần IV) - Phân quyền Form: Xem | Xóa | Sửa | Nút lệnh
ongke0711 > 17-04-18, 10:41 AM
DEMO PHÂN QUYỀN CHI TIẾT THEO FORM - PHẦN IV
>> Phân quyền Admin | Xem | Thêm | Xóa | Sửa | Nút Lênh <<
---------------------------------------------------------------------------------------------------
- Cũng theo nguyên tắc như các cách phân quyền trước, tôi có code lại theo cách khác là theo hướng chỉ cần gọi hàm Phân quyền khi Open Form là sẽ thiết lập quyền thao tác của User trên Form đó. Cách gọi đơn giản hơn.
- Demo này có bổ sung thêm phân quyền [Nút lệnh]. Ví dụ: nút lệnh "Phân Quyền Người Dùng" trên Main Form, nếu User đăng nhập không có quyền "Admin" thì cái nút lệnh này sẽ “Disabled”.
- Dùng đối tượng TempVar để lưu thông tin UserID đăng nhập. Cách làm khác là: ẩn form Login, khi cần thông tin UserID thì tham chiếu đến form Login hoặc lưu UserID vào biến toàn cục (global variable - Biến này khai báo trong Module). Dùng TempVar sẽ khắc phục được việc mất thông tin biến khi bộ nhớ bị crashed hoặc khỏi phải lúc nào cũng mở cái form Login. Đối tượng TempVar chỉ có trong Access 2007 trở lên.
Tất nhiên code này cũng chưa phải là cách chuyên nghiệp cao nhưng đối với các ứng dụng vừa và nhỏ thì vừa đủ để xài. Demo này chỉ tập trung code cái hàm Phân quyền còn các mục khác để thành một ứng dụng phân quyền hoàn chỉnh (dấu database, dấu menu, khóa Shift…) các bạn tự tham khảo các bài khác nhé.
Link demo: http://www.mediafire.com/file/co123h0li1...1%29.accdb
[/url][url=https://flic.kr/p/26bqJYW]
-
RE: Phân quyền (Phần IV) - Phân quyền Form: Xem | Xóa | Sửa | Nút lệnh
huuduy.duy > 18-04-18, 08:59 AM
Khi chạy báo lỗi như hình, là bị gì vậy anh
[img][/img]
[img][/img]
-
RE: Phân quyền (Phần IV) - Phân quyền Form: Xem | Xóa | Sửa | Nút lệnh
ongke0711 > 18-04-18, 09:22 AM
Nguyên tắc là phải đăng nhập mới sử dụng đc các form khác. -
RE: Phân quyền (Phần IV) - Phân quyền Form: Xem | Xóa | Sửa | Nút lệnh
Cuong Servenet > 28-08-18, 04:42 PM
cai nay hay đó đại ca.
em đang nghiên cứu cái tính năng tương tự như của anh trên cái phần mềm ông ng nhật viết .
ông ấy viết 1 cái bảng cài đặt
1) Đăng nhập tên vào cài đặt
2) Tính năng nữa là cài đặt Hiển Thị Forms , report vvv ra Menu.
ví dụ cái Forms A trong bảng cài đặt mà "O" thì hiển thị "X" thì nó không hiển thị.
Nếu có thêm tính năng nay có vẻ rất hay trong việc cài đặt. -
RE: Phân quyền (Phần IV) - Phân quyền Form: Xem | Xóa | Sửa | Nút lệnh
tranthanhan1962 > 28-08-18, 07:08 PM
Lúc trước mình cũng xử lý phân quyền gần giống như ongke0711, vì hồi đó còn xài main menu kiểu main switchboard, sau này lười quá đẩy hết vô menu (hoặc ribbon). Cho form login quản luôn. Ai có quyền gì thì cho click gọi (form hoặc report gì đó) không thì xử menu visible = no, giờ thì lười hơn xử enabled = yes/ no. Bởi vì xử visible hơi cực phải nhớ thứ tự hoặc bật lên ẩn xuống. Đúng là càng lớn tuổi càng lười -
RE: Phân quyền (Phần IV) - Phân quyền Form: Xem | Xóa | Sửa | Nút lệnh
ongke0711 > 28-08-18, 08:28 PM
(28-08-18, 07:08 PM)tranthanhan1962 Đã viết: Lúc trước mình cũng xử lý phân quyền gần giống như ongke0711, vì hồi đó còn xài main menu kiểu main switchboard, sau này lười quá đẩy hết vô menu (hoặc ribbon). Cho form login quản luôn. Ai có quyền gì thì cho click gọi (form hoặc report gì đó) không thì xử menu visible = no, giờ thì lười hơn xử enabled = yes/ no. Bởi vì xử visible hơi cực phải nhớ thứ tự hoặc bật lên ẩn xuống. Đúng là càng lớn tuổi càng lười
Cái module phân quyền này của em không ràng buộc vô kiểu Menu anh Ân à. Em demo menu dạng Switchboard để dễ thấy tác dụng của tính năng bổ sung là phân quyền theo nút lệnh thôi. Phân quyền này là phân quyền trực tiếp cho từng Form và dựa vào Username được phân quyền thôi. Do đó nếu các kiểu menu Ribbon hay Main Switchboard khi gọi tới Form mà Username đăng nhập không được phân quyền thì tự động thông báo và huỷ kích hoạt luôn, không cần xử lý riêng lẻ từng nút lệnh.
Khi phân quyền cho Form chỉ cần gọi hàm PhanQuyen() ở sự kiện On Open:
-
RE: Phân quyền (Phần IV) - Phân quyền Form: Xem | Xóa | Sửa | Nút lệnh
tranthanhan1962 > 28-08-18, 10:55 PM
Cũng đâu có xử lý gì đâu. Quyền nằm trên form login. Cái nào có quyền thì bình thường, không có thì bôi xám. chỉ có một đoạn mã: Select Case Quyền...thôi