Đăng nhập

Tạo Màn Hình Đăng Nhập Java Swing Bằng Eclipse, Thiết Kế Giao Diện Trong Java Với Netbeans

Bảo mật (Security) là môt khía cạnh quan trọng của một ứng dụng có sự vận chuyển các dữ liệu quan trọng trên Internet.

Đang xem: Tạo màn hình đăng nhập java

*

Xác thực là quá trình mà quyền truy cập (access privileges) của người dùng được xác minh trước khi họ vào khu vực được bảo vệ của Website. Có hai cách tiếp cận xác thực chính: xác thực cơ bản và xác thực dựa trên biểu mẫu (Form-based authentication).
Với xác thực cơ bản, người dùng có thể truy cập mọi trang (page) hoàn toàn bình thường, với các trang yêu cầu bảo mật, một cửa sổ sẽ hiển thị để người dùng nhập vào username/password của họ. Thông tin username/password sẽ được gói lại gửi kèm theo yêu cầu (request) đến Server.

*

Khi người dùng nhập một đường dẫn trên trình duyệt, và nhấn Enter để yêu cầu một trang (page). Một thông tin “User Agent” được tạo ra và được gửi kèm theo yêu cầu. Thông thường thông tin này bao gồm thông tin trình duyệt của người dùng, thông tin hệ điều hành. Trong trường hợp xác thực cơ bản (basic authentication) thông tin username/password được gói bên trong “User Agent”.
Hầu hết các Website sử dụng hình thức xác thực dựa trên biểu mẫu (Form-based Authentication). Website cho phép người dùng truy cập mọi trang thông thường mà không yêu cầu mật khẩu. Tuy nhiên nếu người dùng truy cập vào một trang được bảo vệ, nó sẽ chuyển hướng tới một trang đăng nhập.

*

Trong bài học này, tôi sẽ đề cập chi tiết về cách sử dụng một Servlet Filter để bảo mật ứng dụng Java Web.
Để đơn giản tôi đưa ra một ví dụ, ứng dụng ABC có 2 vai trò “EMPLOYEE” (nhân viên) và “MANAGER” (Người quản lý).Vai trò “EMPLOYEE” được phép sử dụng các chức năng bán hàng, và chức năng tạo mới thông tin khách hàng.Vai trò “MANAGER” được phép sử dụng các chức năng quản lý nhân viên, và xem các báo cáo doanh thu.
Principal có thể tạm hiểu là một “Chủ thể” sau khi đã đăng nhập vào một hệ thống, họ có quyền làm điều gì đó trong hệ thống. Một “Chủ thể” có thể có một hoặc nhiều vai trò. Điều này phụ thuộc vào sự phân quyền của ứng dụng cho mỗi tài khoản người dùng khác nhau.

Xem thêm: Phần Mềm Xóa Vết Thâm Trên Ảnh, 5 Phần Mềm Làm Mịn Da

Trong ứng dụng Java Servlet, một Servlet Filter đặc biệt được sử dụng để xử lý bảo mật, nó thường được gọi là Security Filter.
Khi người dùng truy cập vào một trang (page) được bảo vệ, Security Filter sẽ kiểm tra, nếu người dùng chưa đăng nhập, yêu cầu của người dùng sẽ bị chuyển hướng (redirect) sang trang đăng nhập.

*

Nếu người dùng đã đăng nhập thành công, một đối tượng Principal được tạo ra, nó mang các thông tin của người dùng, bao gồm cả các vai trò.

*

Nếu người dùng đã đăng nhập thành công trước đó, và truy cập vào một trang (page) được bảo vệ. Security Filter sẽ kiểm tra các vai trò của người dùng có phù hợp để truy cập vào trang này hay không. Nếu không hợp lệ, nó sẽ hiển thị cho người dùng một trang thông báo truy cập bị cấm (Access Denied).
Ứng dụng bao gồm 2 vai trò (Role) là EMPLOYEE MANAGER.Vai trò EMPLOYEE cho phép truy cập 2 trang /userInfo/employeeTaskVai trò MANAGER cho phép truy cập 2 trang /userInfo/managerTask.Tất cả các trang khác trong ứng dụng không yêu cầu phải đăng nhập.
Có 2 người dùng (user) là employee1manager1.Người dùng employee1 được gán vai trò EMPLOYEENgười dùng manager1 được gán cả 2 vai trò MANAGER EMPLOYEE.

Xem thêm: Tải Poly Bridge – download Game Poly Bridge Full Cho Pc

Người dùng có thể truy cập tất cả các trang không được bảo hộ một cách bình thường. Tuy nhiên nếu người dùng truy cập vào một trang ABC được bảo hộ, nó sẽ chuyển hướng (redirect) tới trang đăng nhập. Người dùng đăng nhập thành công, lúc này sẽ có 2 tình huống xẩy ra:Ứng dụng sẽ chuyển hướng về trang ABC sau khi đăng nhập thành công, nếu userName có vai trò phù hợp.Ứng dụng sẽ hiển thị thông báo truy cập bị từ chối (Access Denied) nếu userName có vai trò không phù hợp.
Trên Eclipse tạo một “Dynamic Web Project” có tên SecurityWebApp, và cấu hình để nó có thể chạy trên Tomcat Server. Tôi sẽ không đề cập chi tiết về các bước để thực hiện điều này, bạn có thể tham khảo thêm trong bài học dưới đây:

Show More

Related Articles

Back to top button
Close
Close