Phân quyền, tạo form đăng nhập từ cơ bản đến nâng cao

Giới thiệu

Chào các bạn, phân quyền là đăng nhập là một chủ đề vừa mới vừa cũ. Cũ là hầu như ai cũng biết VBA có thể làm được màn hình đăng nhập, mới là chưa có một hệ thống tài liệu nào giúp chúng ta có thể làm được một form đăng nhập hoàn chỉnh từ cơ bản đến nâng cao.

Nâng cao ở đây có thể hiểu là:
– Phân quyền từng User cho từng Sheet, từng cột cụ thể.
– Chỉ tài khoản Admin mới có thể phân quyền, chỉnh sửa thông tin đăng nhập cho các User.
– Tạo thời gian sử dụng cho file, khi hết hạn thì chỉ có đăng nhập tài khoản Admin mới gia hạn được.
– Tài khoản Admin có thể tạo mới, chỉnh sửa thông tin đăng nhập cho các User bằng hình thức Online, không cần mở file.
– Bảo mật hơn với các công cụ ẩn Module, khoá UnView.
– Khắc phục các lỗi khi đang mở nhiều file, tắt mở làm ảnh hưởng các file không liên quan.

Phân quyền có thể được dùng cho nhiều trường hợp, đặc biệt là trong trường hợp nhiều người cùng sử dụng 1 file Excel, hạn chế phân mảng dữ liệu 1 người 1 file, việc phân quyền là cần thiết.

Tuy nhiên, nếu xét về phương diện bảo mật thì mình cũng khẳng định là không đảm bảo. Chúng ta dùng phương thức phân quyền đăng nhập để công việc của chúng ta được thuận tiện, giảm phân mảnh dữ liệu và thuận tiện xử lý khi tổng hợp.

Mình sẽ hướng dẫn các bạn một cách dễ hiểu nhất có thể, để làm sao ai trong số chúng ta đều có thể làm theo được. Nào, giờ ta cùng vào phần nội dung.

Cách tạo một màn hình đăng nhập cơ bản

Bước 1: Tạo một Userform mới và thiết kế một màn hình đăng nhập, bước này nếu các bạn không rõ có thể xem lại loạt bài hướng dẫn tạo Userform

Bạn cần đăng nhập để thấy hình ảnh

Ở đây, mình sẽ đặt tên các Controls như sau:

Label

– ĐĂNG NHẬP: lbLogin
– Tài Khoản: lbID
– Password: lbPW
Textbox
– Tài khoản: tbID
– Password: tbPW
Button
– Đăng nhập: btLogin
– Huỷ bỏ: btClose

Các bạn cũng nên tập thói quen đặt tên các Control khi thêm vào Userform, việc này sẽ giúp các bạn dễ định dang khi viết code đồng thời cũng dễ quản lý. Chứ viết code mà Textbox1, Textbox2… Mới thì hiểu, đợi khi 3 tháng sau quay lại nhìn code thì chỉ có “ngáo” thôi :)

Bước 2: Nhập mật khẩu thì phải hiện chữ * chứ nhỉ
Chọn Textbox Pasword > PasswordChar > *

Bạn cần đăng nhập để thấy hình ảnh

Bước 3: Giờ ta code thôi
Code khi mở form

Mã:



Private Sub UserForm_Initialize()
'//AN FILE EXCEL
Windows(ThisWorkbook.Name).Visible = False
End Sub

Đăng nhập
ID:

admin

– Password:

admin

Mã:



Private Sub btLogic_Click()
Dim ckID As Boolean

'//CHECK THONG TIN ID VA PASSWORD
If tbID.Value = "admin" And tbPW.Value = "admin" Then
    ckID = True
Else
    MsgBox "Ban da nhap sai tai khoan hoac Password"
    Exit Sub
End If

'//XU LY
If ckID = True Then
    '//AN MAN HINH DANG NHAP
    Me.Hide

    '//HIEN LAI FILE EXCEL
    Windows(ThisWorkbook.Name).Visible = True
End If

End Sub

Huỷ bỏ

Mã:



Private Sub btClose_Click()
'//DONG FOMR
Unload Me

'//DONG FILE
ThisWorkbook.Close False
End Sub

Bước 4: Tự mở form khi mở file
Cho đoạn code sau vào Thisworkbook là xong :)

Mã:



Public Sub Auto_Open()
UfLogin.Show
End Sub

Bạn cần đăng nhập để thấy hình ảnh

Trên đây là cách chúng ta có thể tạo 1 form đăng nhập cơ bản. Trong các bài tiếp theo, chúng ta sẽ tìm hiểu cách tinh chỉnh nhiều tính năng hơn cho form đăng nhập này.

Chào các bạn, phân quyền là đăng nhập là một chủ đề vừa mới vừa cũ. Cũ là hầu như ai cũng biết VBA có thể làm được màn hình đăng nhập, mới là chưa có một hệ thống tài liệu nào giúp chúng ta có thể làm được một form đăng nhập hoàn chỉnh từ cơ bản đến nâng cao.- Phân quyền từng User cho từng Sheet, từng cột cụ thể.- Chỉ tài khoản Admin mới có thể phân quyền, chỉnh sửa thông tin đăng nhập cho các User.- Tạo thời gian sử dụng cho file, khi hết hạn thì chỉ có đăng nhập tài khoản Admin mới gia hạn được.- Tài khoản Admin có thể tạo mới, chỉnh sửa thông tin đăng nhập cho các User bằng hình thức Online, không cần mở file.- Bảo mật hơn với các công cụ ẩn Module, khoá UnView.- Khắc phục các lỗi khi đang mở nhiều file, tắt mở làm ảnh hưởng các file không liên quan….Phân quyền có thể được dùng cho nhiều trường hợp, đặc biệt là trong trường hợp nhiều người cùng sử dụng 1 file Excel, hạn chế phân mảng dữ liệu 1 người 1 file, việc phân quyền là cần thiết.Tuy nhiên, nếu xét về phương diện bảo mật thì mình cũng khẳng định là không đảm bảo. Chúng ta dùng phương thức phân quyền đăng nhập để công việc của chúng ta được thuận tiện, giảm phân mảnh dữ liệu và thuận tiện xử lý khi tổng hợp.Mình sẽ hướng dẫn các bạn một cách dễ hiểu nhất có thể, để làm sao ai trong số chúng ta đều có thể làm theo được. Nào, giờ ta cùng vào phần nội dung.Tạo một Userform mới và thiết kế một màn hình đăng nhập, bước này nếu các bạn không rõ có thể xem lại loạt bài hướng dẫn tạo UserformỞ đây, mình sẽ đặt tên các Controls như sau:Các bạn cũng nên tập thói quen đặt tên các Control khi thêm vào Userform, việc này sẽ giúp các bạn dễ định dang khi viết code đồng thời cũng dễ quản lý. Chứ viết code mà Textbox1, Textbox2… Mới thì hiểu, đợi khi 3 tháng sau quay lại nhìn code thì chỉ có “ngáo” thôiNhập mật khẩu thì phải hiện chữ * chứ nhỉChọn Textbox Pasword > PasswordChar > *Giờ ta code thôiCode khiCode nútCode nútTự mở form khi mở fileCho đoạn code sau vào Thisworkbook là xongVà đây là kết quả, quá đơn giản đúng không nào.Trên đây là cách chúng ta có thể tạo 1 form đăng nhập cơ bản. Trong các bài tiếp theo, chúng ta sẽ tìm hiểu cách tinh chỉnh nhiều tính năng hơn cho form đăng nhập này.