Secure Web Service sử dụng Username Authentication with Symmetric Keys (UA)
Phần 1: Secure Web Service sử dụng Username Authentication with Symmetric Keys (UA):
Đầu tiên bạn tạo 1 web application project. Đặt tên là WSSecurityDemo
Nhấn Finish. Ta có được 1 web application Project. Bây giờ ta tạo 1 web service đơn giản cho việc đổi tiền từ tiền việt sang usd.
Nhấn chuột phải lên project, chọn New->Other
Nhấn Finish.
Chọn Design như hình
Nhấn Add Operation
Chọn Source Code để thay đổi code. Code sửa đổi như sau :
Sau quay lại màn hình design, chọn vảo checkbox “secure service” như hình:
Nhấn nút Advanced.
Check vào checkbox “Secure Service”, Netbeans yêu cầu ta dùng thư viện METRO thay vì JAX-WS bởi METRO đã bao gồm JAX-WS. Bạn chọn Yes. (bạn có thể xem lại library sau này bằng cách nhấn phải chuột lên project, chọn properties, chọn libraries)
Chọn Security Mechanism. Trong trường hợp này ta chọn “Username Authentication with Symmetric Key” (xác thực theo username-password với cơ chế key đối xứng)
Checkbox “Use Development Default” đảm bảo cho bạn mọi thứ đã được config sẵn (keystroke, username, password). Nếu bạn không muốn thì tạo một file keystore(xem ở phần web security – dùng command-line sau: keytool -genkey -alias tomcat -keyalg RSA) rồi bỏ checkbox, nhấn Keystore và cấu hình. Với keystore mặc định, bạn sẽ có 1 dòng trong file tomcat-users.xml như sau:
<user name="wsitUser" password="changeit" roles="tomcat"/>
Sau đó kéo thanh trượt bên cạnh xuống như hình
Nhấn nút Message Parts của Input Message và Output Message sao cho các chọn lựa như hình:
Nhấn OK.
Chúng ta hãy xem cấu hình secure cho wss vừa tạo: wsit-vovanhai.wordpress.com.MyWebService.xml
Ví nhự 1 đoạn như sau:
Nhấn phải chuột lên Project, chọn Deploy
Sau đó Test Webservice như hình
Copy URL: http://localhost:8080/WSSecurityDemo/MyWebService?wsdl
Giờ là đến lúc viết client
Tạo 1 Web Application
Nhấn phải chuột lên Project, chọn New->other…
Nhấn Next
Điền URL vào tùy chon WSDL URL, nhấn Finish.
Mở rộng Project, chọn đến phương thức của Web Service tham chiếu, kéo phương thức VND2USD thả vào trang JSP, code sẽ sinh ra như hình
Sửa code lại như sau:
Bây giờ bạn chạy file jsp này. Bạn sẽ thấy như sau:
Do bạn chưa cấu hình secure cho client. Bay giờ bạn cấu hình như sau:
Nhấn phải chuột lên WS references, chọn Edit Web Service Attributes như hình
Cửa sổ sau xuất hiện
Khi bạn Check vào checkbox “Use development defaults”, hộp thoại sau xuất hiện:
Chọn Yes để NetBeans add METRO library vào project của bạn.
Trường hợp bạn tự chọn user,psw, bạn có thể bỏ chọn checkbox này và cấu hình tương ứng với lúc bạn tạo webservice ở trên.
Mặc định cho keystroke ở trên đã nói với username=wsitUser, password=changeit.
Nhấn OK để hoàn tất.
Bạn mở file MyWebService.xml ở vị trí như hình, bạn sẽ thấy nó thêm phần sau:
OK. Bây giờ chạy trang JSP. Bạn sẽ được
OK. Vậy là bạn đã thành công!