Phương pháp điều khiển truy cập hiện tại

Một phần của tài liệu Nghiên cứu phương pháp điều khiển truy cập dựa vai trò trong việc đảm bảo an toàn cho các ứng dụng dựa thành phần (Trang 44)

Trong hệ thống quản trị - báo cáo thanh toán hóa đơn, việc kiểm soát người dùng có quyền truy cập vào một thành phần EJB hay không được viết bằng mã lệnh đặt trong các file JSP.

Khi người dùng đăng nhập vào hệ thống, JSP sẽ lưu định danh của người dùng đó vào session. Các biến session sẽ xác định chương trình đang chạy bởi

người dùng nào. Sau đó, khi người dùng muốn thực hiện một chức năng nghiệp vụ được cung cấp bởi các thành phần EJB, mã lệnh trên JSP gọi phương thức kiểm tra quyền hạn của người dùng trong bean RightManager. Nếu người dùng có quyền thực hiện chức năng nghiệp vụ, JSP sẽ triệu gọi phương thức thực hiện chức năng nghiệp vụ người dùng yêu cầu.

Hình 3.11 biểu diễn biểu đồ tuần tự cho chức năng tạo người dùng. Khi người dùng có yêu cầu tạo người dùng, JSP sẽ gọi đến phương thức

checkRight() trong bean RightManager. Nếu người dùng không có quyền tạo

người dùng khác, checkRight() sẽ trả về false, ngược lại, checkRight() trả về

true. Nếu người dùng có quyền tạo người dùng khác (checkRight()=true), JSP gọi phương thức newObject() trong bean phiên UserController, đến lượt

UserController tiếp tục gọi phương thức newObject() trong bean thực thể Users

để thực hiện.

Từ phân tích trên, ta có thể rút ra những hạn chế của phương pháp truy cập hiện tại:

- Phức tạp: Người phát triển là người viết luôn các chính sách điều khiển truy cập hệ thống chứ không chỉ tập trung vào các chức năng nghiệp vụ. Điều này yêu cầu người phát triển nắm vững cả về phát triển ứng dụng, phát triển thành phần và tích hợp hệ thống.

- Không linh hoạt: Nếu cần thay đổi chính sách truy cập, cần sửa đổi hầu

hết các thành phần trong hệ thống như các file JSP, các thành phần EJB, v.v...

- Không đảm bảo an toàn: Việc viết các chính sách điều khiển truy cập phụ thuộc vào kinh nghiệm của người phát triển ứng dụng. Nếu có một lỗ hổng về an ninh rất khó tìm ra lỗ hổng đó nằm tại bước nào để khắc phục.

- Không có tính mở: Trong trường hợp cần phát triển một ứng dụng phía

client có thể dùng chung các thành phần EJB, trên ứng dụng đó bắt buộc phải viết lại toàn bộ các chính sách điều khiển truy cập một lần nữa.

Một phần của tài liệu Nghiên cứu phương pháp điều khiển truy cập dựa vai trò trong việc đảm bảo an toàn cho các ứng dụng dựa thành phần (Trang 44)