Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
phân quyền chi tiết cho người sử dụng...mong mọi người giúp đỡ
07:40 16-12-2017
1.160 lượt xem
5 bình luận
13:53 20-12-2017
MÌnh đang tìm hiểu việc phân quyền chi tiết cho người sử dụng (như ảnh mình đăng)...mong mọi người giúp đỡ
tblChucNang(MaChucnang, TenChucNang)
tblPhanHe(MaPhanHe, MaChucnang, xem, them, sua, xoa)
tblPhanquyen(MaNguoidung, MaPhanHe)
Kiểu nó như vậy nè. Hoặc add vô trong bàng lưu thông tin đăng nhập luôn. VD:
tblDangNhap(MaNguoidung, TenDangnhap, MatKhau, MaphanHe)
khi truy vấn thì join mấy bảng này lại với nhau:
Select *
from tblDangNhap dn
left join tblPhanHe ph on dn.MaPhanHe=ph.MaPhanHe
left join tblChucNang cn on ph.MaChucNang=cn.MaChucNang
WHERE dn.TenDangNha='"+ Tên đăng nhập lấy từ form +"' and dn.MatKhau='"+ Mật khẩu lấy từ form +"'
Nếu câu lệnh này trả về bảng lớn hơn 1 dòng thì Đang nhập đúng, tiện lấy luôn bảng này làm cây cấp quyền.
Câu lệnh trên là ý tưởng, bạn muốn sử dụng phải tối ưu lại nhé.
cám ơn mọi người đã giúp đỡ....ý mình muốn tạo một CSDL và form giống theo bản form trong hình...mong mọi người hướng dẫn kỹ hơn được không ...cám ơn nhiều...
tạo 1 bảng chức năng có các quyền thêm xóa sửa kết với bảng phân hệ, sau đó tùy thuộc bạn cho cấp quyền gì thì ẩn hiện thui các chức năng thui
tạo thêm 1 bảng phân quyền. rồi lấy theo ID đó vô chương trình mà xử lí bạn. Bên web thì minh xử lí theo hướng Url
Theo như mình hay làm thì mình sẽ tạo chung một chức vụ. Ví dụ: Quản lý có mã chức vụ là QL01, thì có chức năng: Sao lưu, đổi mật khẩu, cập nhật thông tin blah blah..
Sau đó tạo ra một table User đăng nhập, lấy cột chức vụ, mình gán mã quản lý là QL01 cho user là xong. Mình đã có cây phân quyền cho user.
Khi đăng nhập, mình load toàn bộ chức năng của user đó lên. Tương ứng thì cũng sẽ có cấp độ thêm, hoặc xóa hoặc sửa. Khi khởi tạo form, mình kiểm tra, nếu có chức năng đó thì mình bật enable lên, hoặc show lên.
Đó là ý tưởng của mình .