III. Kiến trúc uPortal
6. Tích hợp với các thành phần có sẵn
uPortal được phát minh ra nhằm mục đích giúp đỡ cài đặc các thành phần có sẵn trong lĩnh vực rộng lớn.
Chứng thực và thông tin thư mục của các hệ thống con
Thành phần chứng thực của uPortal quản lý người sử dụng truy cập vào hệ thống uPortal, bao gồm các thực thi sau :
o Kênh truy cập quản lý việc hiển thị mẫu gồm tên trên cập và
mật khẩu. Mặc định bảo mật trong việc thực thi này là SimpleSecurityContext mà nó yêu cầu tên truy cập và mật khẩu, phần còn lại của thành phần chứng thực được thiết kế
______________________________________________________________________________________
thực. Trong trường hợp này kênh truy cập không cần được sử dụng.
o AuthenticationServlet quản lý yêu cầu và đưa dữ liệu được
nhập bởi người sử dụng trong mẫu truy cập. Sau khi sự chứng thực hoàn tất (hay thất bại), AuthenticationServlet sẽ trả lại cho thành phần chính của portal.
o Dịch vụ chứng thực được gọi bởi AuthenticationServlet (1)
để thực thi việc chứng thực, (2) giành được thông tin thư mục cho một người được chứng thực và (3) thiết lập sự xác đinh rõ ràng cho người sử dụng đó bao gồm cả những bố cục lúc đầu
1. Giao diện cung cấp sự bảo mật được gọi bởi dịch vụ chứng
thực để kiểm tra khả năng của một người được ủy nhiệm. Sự thực thi đó bao gồm nhiều ví dụ về sự thực thi cung cấp bảo mật và thiết lập mặc định là sử dụng SimpleSecurityContext mà nó sẽ kiểm tra mật khẩu theo dạng md5 được lưu trong cơ sở dữ liệu.
2. Dịch vụ PersonDirectory được gọi bởi dịch vụ chứng thực
lấy các thuộc tính thư mục cho người sử dụng đã được chứng thực. Dịch vụ PersonDirectory được cung cấp trong sự thực thi này sử dụng một vài nguồn jndi và/hoặc jdbc để lấy các thuộc tính và sắp xếp nó vào trong đối tượng người của uPortal. Việc sắp xếp tên của các thuộc tính được quyết định bởi tập tin PersonDirs.xml.
3. kênh, CpersionAttributes, được cung cấp như là một ví dụ
về cách thức hiển thị thuộc tính cá nhân của người sử dụng hiện thời.
4. Giao diện IUserIdentityStore là một kỹ thuật cho phép lấy
______________________________________________________________________________________
thống portal. Khi thuộc tính
org.jasig.portal.services.Authentication.autoCreateUsers được thiết lập là true, thành phần này sẽ tự động tạo ra tất cả các dữ liệu cần thiết cho một người sử dụng mới, hệ thống portal dựa trên các định dạng sẵn có của người sử dụng. Định dạng người sử dụng sẽ được xác đinh rõ sắp xếp thuộc tính thư mục cho uPortalTemplateUserName.
o Md5Password
Chuẩn bảo mật, dùng để mã hóa thông tin người sử dụng khi cung cấp thông tin của họ qua hệ thống portal. Dữ liệu
của người sử dụng được chứa trong bảng
UP_PERSON_DIR của hệ thống cơ sở dữ liệu uPortal. Sự cho phép (Quyền truy cập)
o Quyền hạn
Đơn vị của sự cấp phép trong hệ thống uPortal là quyền hạn, được thể hiện bởi IPermission. Một đặc quyền được công nhận bởi một người sở hữu, thông thường là một kênh, đến một người ủy nhiệm. Một đặc quyền đưa cho người ủy nhiêm của nó quyền hạn để thực thi một vài tác vụ.
o Quyền truy cập và nhóm
Một người được ủy quyền có thể là một thực thể, cũng có thể là một nhóm các thành viên. Hệ thống cấp quyền hoạt động với hệ thống các nhóm để lấy về các thành viên trong nhóm người được ủy quyền. Kết quả là, thêm một người sử dụng vào một nhóm có nghĩa là kết thừa quyền hạn từ nhóm đó (người sử dụng đó sẽ có quyền truy cập được kế thừa từ nhóm).
______________________________________________________________________________________
Thiết kế sự cấp quyền dựa vào ba điểm chính : người sử dụng portal, quyền hạn người sở hữu, và quyền hạn người quản trị. Mỗi điểm của khung nhìn được thể hiện bởi một loại tách biệt, một façade xem kẻ của dịch vụ cấp quyền. Các loại bao gồm :
IAuthorizationPrincipal (người sử dụng),
IPermissionManager (người sở hữu), và
IUpdatingPermissionManager (người bảo trì). Người sử dụng muốn làm việc với sự cấp quyền, thì gửi yêu cầu tới dịch vụ cho loại tương ứng. Dựa trên quyền hạn của nó, người sử dụng sẽ lấy được loại mà nó yêu cầu, được ràng buộc bởi quyền của người sử dụng.
o IAuthorizationPrincipal
Một IAuthorizationPrincipal thể hiện một người dùng riêng và có thể trả lời câu hỏi một người được ủy quyền có thể làm được gì. Một người được ủy quyền cũng có thển nằm trong một nhóm các thành viên. Vì vậy ngòai quyền hạn cá nhân nó còn kế thừa quyền từ nhóm thành viên đó.
o IUpdatingPermissionManager
Một giao diện IUpdatingPermissionManager cũng thể hiện quyền của chủ sở hữu, nhưng tại thời điểm bảo trì khi người sở hữu viết những đặc quyền chứ không phải tại thời điển chạy chương trình khi người sở hữu đang định nghĩa nó, nó kế thừa những phương thức để lấy
IAuthorizationPrincipal và Permissions từ
IAuthorizationManager, thêm vào đó còn có phương thức cho việc lưu trữ các quyền hạn. Trong khi
______________________________________________________________________________________
IAuthorizationPrincipal và IPermissionManager sử dụng bộ nhớ đệm để tăng hiệu quả thực thi, thì IUpdatingPermissionManager sẽ bỏ qua những đặc quyền được ghi nhớ vì vậy nó có thể đồng bộ hóa với lưu trữ IPermission.
Lưu trữ
uPortal định nghĩa giao diện lưu trữ cho tất cả các dữ liệu được yêu cầu để quản lý portal, một cơ sở dữ liệu quan hệ được cung cấp để thực thi tác vụ này.