Thiết lậpmộtvùngSQLvớiDB2 Express-C, WTP
Eclipse, vàMáychủỨngdụngWebSphere,BảnCộng
đồng V1.1
Khi triển khai thực hiện bảo mật trong mộtứngdụng Web, cần phải có một mô-đun JAAS dành
riêng để xử lý việc xác thực và cấp quyền cho người dùng. MáychủỨngdụng WebSphere Bản
Cộng đồng (WebSphere Application Server Community Edition) cung cấp mộtvùng SQL, có thể
kết nối đến một cơ sở dữ liệu để thu thập các quyền hạn của người sử dụng. Trong hướng dẫn
này bạn sẽ thấy cách thiết lập các bảng để tạo mộtvùngSQL trong DB2Express-C, cách thiết
lập một môi trường phát triển bằng cách sử dụng nền công cụ Web của Eclipse (Eclipse Web
Tooling Platform) để tạo mộtứngdụng Web, và cách triển khai ứngdụng Web từ Eclipse lên
Máy chủỨngdụng WebSphere BảnCộng đồng.
Tất cả các ứngdụng Web sẽ áp dụngmột mức độ bảo mật nào đó đối với việc xác thực và cấp
quyền người sử dụng để xác minh nhận dạng của người sử dụngvà cho phép truy cập các chức
năng của ứng dụng, áp dụng được đối với vai trò của người sử dụng này.
Các ứngdụng Web có thể sử dụng LDAP, cơ sở dữ liệu, hệ thống tệp tin, Kerberos, hoặc các hệ
thống tương tự như vậy, để cung cấp việc xác thực và cấp quyền. Để truy cập dữ liệu bảo mật từ
phương thức hoặc hệ thống được chọn, mộtvùngSQL được thiếtlập ra bằng cách tạo các bảng
trong một cơ sở dữ liệu và xác lập cấu hình cho một mô đun dịch vụ xác thực và cấp quyền trong
Java (Java Authentication and Authorization Service - JAAS) để truy cập vào các bảng ấy từ một
máy chủứng dụng.
Hình 1 cho thấy các thành phần khác nhau trong MáychủỨngdụng WebSphere BảnCộngđồng
(sau đây gọi tắt là BảnCộng đồng) được sử dụng để cung cấp mộtvùng SQL. Các ứngdụng
Web sử dụngmộtvùngSQL kết nối vào cơ sở dữ liệu bằng cách sử dụngmột pool hoặc trình
điều khiển cơ sở dữ liệu. Quyền hạn của người sử dụng được lưu trong bảng trong cơ sở dữ liệu
và được chuyển tải về khi thực hiện các lời gọi, bằng cách sử dụngvùngSQL JAAS.
Hình 1. Các thành phần của mộtvùngSQL
Dịch vụ xác thực và cấp quyền trong Java (Java Authentication and Authorization Service -
JAAS) là một bộ các API cho phép các ứngdụng Java truy cập vào các dịch vụ xác thực và dịch
vụ kiểm soát truy cập mà không bị buộc vào dịch vụ mà nó sử dụng.
Thiết lậpmộtvùng cơ sở dữ liệu
Thiết lậpmộtvùng cơ sở dữ liệu bao gồm việc thực hiện các bước chung sau đây:
Tạo các bảng cho người sử dụngvà các nhóm trong DB2 Express-C.
Triển khai một pool cơ sở dữ liệu trong máychủBảnCộng đồng, nếu vùng đó định sử
dụng một pool để kết nối với cơ sở dữ liệu.
Triển khai sơ đồ vùngSQL trong máychủBảncộng đồng.
Lập cấu hình và triển khai ứngdụng Web mà sử dụngvùngSQL này.
Phần còn lại của hướng dẫn này giải thích chi tiết các nhiệm vụ ấy.
Thiết lậpmột cơ sở dữ liệu
Trong phần này, bạn sẽ thấy cách thiếtlập cơ sở dữ liệu và các bảng cơ sở dữ liệu cần có cho
vùng SQL. Bạn có thể tạo cơ sở dữ liệu và các bảng hoặc bằng cách sử dụng Trung tâm điều
khiển (Control Center) hoặc thông qua việc chạy một kịch bản lệnh SQL.
Sử dụng Trung tâm điều khiển
Tạo cơ sở dữ liệu
1. Trong DB2Express-C, mở Trung tâm điều khiển.
2. Nhấn chuột phải vào All Databases, sau đó chọn Create Database => Standard.
3. Gõ nhập WASCE làm tên cơ sở dữ liệu.
4. Nhấn Finish.
Bạn vừa tạo ra một cơ sở dữ liệu mới có tên WASCE và sẽ thấy nó được liệt kê dưới mục All
Databases (Hình 2).
Hình 2. Cơ sở dữ liệu mới được tạo
Về đầu trang
Tạo các bảng
Bây giờ, hãy tạo các bảng cho người dùng (USERS) và cho các nhóm (GROUP) trong cơ sở dữ
liệu mới WASCE:
1. Dưới mục WASCE trong liệt kê thư mục, nhấn chuột phải vào Tables, sau đó chọn
Create.
2. Gõ nhập làm tên bảng USERS, sau đó nhấn Next.
3. Thêm một cột:
a. Chọn Add để thêm một cột mới vào bảng.
b. Gõ nhập USERNAME làm tên cột.
c. Chọn kiểu dữ liệu của cột là VARCHAR.
d. Đối với mục Nullable or not, chọn No.
e. Nhấn Apply.
4. Lặp lại bước 3 để thêm một cột EMAIL vàmột cột PASSWORD vào bảng USERS, với các
giá trị như thấy trong Hình 3. Khi hoàn tất, nhấn OK.
5. Lặp lại các bước từ 1 đến 4 để tạo ra một bảng GROUPS mới với hai cột: GROUPNAME và
USERNAME.
6. Nhấn Next => Next => Next để đến các phím Define trên ô hình bảng mới.
7. Chọn Add Primary. Từ các cột có sẵn, chọn cột nào định làm khoá chính cho mỗi bảng:
a. Đối với bảng USERS, chọn USERNAME và đối với bảng chọn
USERNAME/GROUPNAME làm khóa chính.
b. Đối với bảng GROUPS, chọn Add foreign => USERNAME. Nhấn nút > để
chuyển nó vào khoá ngoại. Chọn USERNAME làm khóa chính trong bảng Cha
(Schema/Name - ADMINISTRATOR/USERS).
8. Nhấn Finish và bảng được tạo ra.
Áp dụng các bước trên đây và các định nghĩa lược đồ như thấy trong Hình 3 và Hình 4 để tạo ra
các bảng USERS và GROUPS. Đối với bảng USERNAME thì USERNAME là khóa chính. Đối
với bảng GROUPS thì GROUPNAME và USERNAME là các khóa chính, và USERNAME là
một khoá ngoại (tham chiếu đến USERNAME trong bảng USERS).
Lược đồ USERS
Hình 4. Lược đồ GROUPS
Trong các bước nói trên đây, các bảng USERS và GROUPS được tạo ra dưới lược đồ
ADMINISTRATOR. Nếu bạn đã đăng nhập dưới tên db2admin, các bảng sẽ được tạo ra dưới
lược đồ DB2ADMIN.
Điền giá trị vào các bảng
1. Chọn WASCE => Tables => USERS.
2. Nhấn chuột phải vào bảng USERS, sau đó chọn Open => Add row.
3. Gõ nhập các giá trị thử vào từng trường trong bản ghi cơ sở dữ liệu, sau đó chọn
Commit.
4. Lặp lại các bước 2 và 3 đối với từng bản ghi thử mà bạn muốn tạo ra, sau đó nhấn Close.
5. Lặp lại các bước từ 1 đến 4 đối với bảng GROUPS (Hình 5).
Hình 5. Tạo các bản ghi dữ liệu thử
Sử dụng các kịch bản lệnh
Thay vì sử dụng Trung tâm điều khiển DB2, bạn có thể tạo cơ sở dữ liệu, bảng, và dữ liệu thử
bằng cách sử dụngmột kịch bản lệnh SQL. Tệp tin tải về kèm trong hướng dẫn này chứa một tệp
tin kịch bản lệnh mẫu, db2_realm.sql. Hãy thực hiện kịch bản lệnh này từ dòng lệnh DB2 để tạo
ra cơ sở dữ liệu và bảng:
1. Mở một cửa sổ lệnh Windows hoặc chạy tệp tin bó (batch file) DB2 /<db2 install
directory>bin/db2cw.bat.
2. Thực hiện tệp tin kịch bản lệnh mẫu bằng lệnh này: db2 -tvfdb2-realm.sql.
Nếu không gặp lỗi, các thông báo thực hiện thành công sẽ được tạo ra cho SQL này (Hình 6).
Hình 6. Tạo cơ sở dữ liệu, bảng, và dữ liệu thử thông qua sử dụng kịch bản lệnh
. Thiết lập một vùng SQL với DB2 Express-C, WTP
Eclipse, và Máy chủ Ứng dụng WebSphere, Bản Cộng
đồng V1. 1
Khi triển khai thực hiện bảo mật trong một. tạo một ứng dụng Web, và cách triển khai ứng dụng Web từ Eclipse lên
Máy chủ Ứng dụng WebSphere Bản Cộng đồng.
Tất cả các ứng dụng Web sẽ áp dụng một