intTypePromotion=3

Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:30

0
87
lượt xem
14
download

Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2 : Định cấu hình cho xác thực cơ sở HTTP Henry Cui, Kỹ sư phần mềm, IBM Tóm tắt: Phần 1 của loạt bài hướng dẫn này đã hướng dẫn bạn từng bước xây dựng một dịch vụ web cho một ứng dụng máy tính cầm tay đơn giản. Bạn đã tạo ra các dịch vụ web và kiểm thử hai loại hình trình khách dịch vụ Web khác nhau trình khách Java ™ Platform, Enterprise Edition...

Chủ đề:
Lưu

Nội dung Text: Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2

  1. Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2 : Định cấu hình cho xác thực cơ sở HTTP Henry Cui, Kỹ sư phần mềm, IBM Tóm tắt: Phần 1 của loạt bài hướng dẫn này đã hướng dẫn bạn từng bước xây dựng một dịch vụ web cho một ứng dụng máy tính cầm tay đơn giản. Bạn đã tạo ra các dịch vụ web và kiểm thử hai loại hình trình khách dịch vụ Web khác nhau - trình khách Java ™ Platform, Enterprise Edition (Java EE) và trình khách Java độc lập - và xử lý các trường hợp ngoại lệ do người dùng định nghĩa trong các dịch vụ web. Bài thứ hai này của loạt bài gồm ba phần chỉ cho bạn cách định cấu hình xác thực cơ sở HTTP cho các dịch vụ web của bạn và trình khách dịch vụ web và giám sát các thông tin xác thực cơ sở HTTP bằng cách sử dụng trình giám sát TCP/IP. Trước khi bạn bắt đầu Về loạt bài hướng dẫn này Nếu bạn đã qua phần 1 của loạt bài hướng dẫn này, thì bạn đã: Thiết lập các máy chủ. • Tạo Java bean. • Tạo các dịch vụ web. • Tạo trình khách Java EE của dịch vụ web. • Tạo trình khách Java độc lập của dịch vụ Web. •
  2. Phần 2 của hướng dẫn này được xây dựng dựa trên Phần 1, chỉ cho các bạn cách làm thế nào để định cấu hình cho xác thực cơ sở HTTP. Tại đây bạn sẽ: Bật cho phép bảo đảm an ninh của WebSphere® Application Server của • IBM®. Định cấu hình việc xác thực cơ sở HTTP cho các bên cung cấp dịch vụ web. • Định cấu hình việc xác thực cơ sở HTTP cho trình khách dịch vụ web bằng • cách sử dụng một bộ miêu tả triển khai. Định cấu hình việc xác thực cơ sở HTTP cho trình khách dịch vụ web bằng • lập trình. Giám sát các thông tin về xác thực cơ sở của HTTP bằng cách sử dụng • trình giám sát TCP/IP. Phần 3 của hướng dẫn này cho bạn biết cách định cấu hình cho HTTPS. Trong phần 3, bạn sẽ: Tạo kho lưu trữ các khóa, kho ủy thác, và chứng thực bên cung cấp dịch vụ • web. Tạo cấu hình của giao thức Secure Sockets Layer (SSL) cho bên cung cấp • dịch vụ web. Tạo một móc xích chuyển tải các thùng chứa Web mới để sử dụng cấu hình • SSL mới cho bên cung cấp dịch vụ web. Định cấu hình cho HTTPS cho trình khách dịch vụ Web. • Kiểm thử dịch vụ Web qua HTTPS từ trình khách Java EE. •
  3. Kiểm thử dịch vụ Web qua HTTPS từ trình khách Java độc lập. • Mục tiêu Tìm hiểu cách định cấu hình cho xác thực cơ sở HTTP cho dịch vụ web và trình khách dịch web và giám sát các thông tin xác thực cơ sở HTTP bằng cách sử dụng trình giám sát TCP/IP. Một số yêu cầu Bạn cần phải có một số hiểu biết cơ sở về công nghệ Java và các dịch vụ web để làm theo hướng dẫn này. Yêu cầu về hệ thống Bạn cần phải cài đặt sản phẩm Rational Application Developer V7 của IBM, bản mới nhất. (Bạn có thể tải về bản Rational Application Developer dùng thử tại trang developerWorks nếu bạn chưa mua sản phẩm này.) Nếu bạn không chắc rằng bản Rational Application Developer V7 của mình là bản mới nhất, bạn có thể vào trình quản lý cài đặt IBM (IBM Installation Manager) và chọn mục Update Packages để xem phần cập nhật mới nếu đã có. Vào thời điểm tôi viết hướng dẫn này, phiên bản mới nhất của Rational Application Developer là 7.0.0.5. (Lưu ý: Cứ khoảng ba tháng một lần IBM phát hành một gói vá lỗi. Bạn có thể thấy một phiên bản mới hơn của Rational Application Developer tại thời điểm cài đặt. Mỗi phiên bản mới của Rational Application Developer có chứa số lượng lớn các phần đã sửa chữa. Chúng tôi khuyên bạn nên cài đặt các phiên bản mới nhất để tránh gặp các vấn đề đã được sửa chữa.)
  4. Kích hoạt bảo đảm an ninh của WebSphere Application Server Trong các phiên bản trước của WebSphere Application Server, khi một người dùng bật chế độ bảo đảm an ninh tổng thể, thì cả bảo đảm an ninh về quản trị và bảo đảm an ninh ứng dụng đều được bật. Từ WebSphere Application Server phiên bản V6.1 trở đi, khái niệm bảo đảm an ninh tổng thể được chia thành bảo đảm an ninh về quản trị và bảo đảm an ninh ứng dụng, bạn có thể kích hoạt riêng rẽ từng chế độ bảo đảm an ninh. Bảo đảm an ninh ứng dụng chỉ có hiệu lực khi bảo đảm an ninh về quản trị được kích hoạt. Để kích hoạt tính năng xác thực cơ sở HTTP, thì máy chủ WebSphere Application Server phải chạy khi cả hai loại bảo đảm an ninh quản trị và bảo đảm an ninh ứng dụng được kích hoạt. Trong phần này, bạn kích hoạt chế độ bảo đảm an ninh trên máy chủ. Bạn sử dụng sổ đăng ký người sử dụng của hệ điều hành tại máy cục bộ để xác thực người dùng. Sau khi bảo đảm an ninh được kích hoạt, bạn cần phải thông báo các cài đặt quản trị của bạn từ môi trường phát triển tới máy chủ đang chạy thi hành để bạn có thể thiết lập một quan hệ tin cậy giữa bàn làm việc (workbench) phát triển và máy chủ. Bật chế độ bảo đảm an ninh trên máy chủ Trước tiên, bạn định cấu hình cho máy chủ chạy với chế độ bảo đảm an ninh đã được kích hoạt: 1. Bạn phải chắc chắn rằng WAS v6.1 for Web services provider (máy chủ ứng dụng WebSphere v6.1 cho bên cung cấp dịch vụ Web) đã khởi chạy. 2. Tại khung nhìn Servers, nhấn chuột phải vào WAS v6.1 for Web services provider và chọn Run administrative console (chạy bàn quản trị). 3. Nhấn Log in. Bạn không cần phải nhập ID người dùng, vì mục này không phải kiểm tra.
  5. 4. Trong ô bên trái, mở rộng Security > Secure administration, applications, and infrastructure, như ở hình 1. Hình 1. Bảo đảm an ninh quản trị, các ứng dụng và cơ sở hạ tầng 5. Nhấn Security Configuration Wizard. 6. Tại trang Specify extent of protection, nhấn chọn Enable application security sau đó nhấn Next. 7. Tại trang Select user repository chọn Local operating system sau đó nhấn Next. 8. Tại trang Configure user repository, nhập Primary administrative user name. Tên người dùng phải có các quyền ưu tiên về quản trị đối với hệ điều hành tại máy tính của bạn. Nhấn Next. 9. Tại trang Summary nhấn Finish sau đó nhấn Save. Bạn sẽ thấy cả hai, bảo đảm an ninh quản trị lẫn bảo đảm an ninh ứng dụng đã được kích hoạt.
  6. 10. Nhấn Logout để thoát khỏi bàn quản trị. 11. Ngừng hoạt động của máy chủ WebSphere Application Server V6.1 cho các bên cung cấp dịch vụ web. Về đầu trang Định cấu hình bảo đảm an ninh tại bàn làm việc Bạn cần phải biên tập cấu hình máy chủ để xác định rõ rằng chế độ bảo đảm an ninh được kích hoạt: 1. Tại khung nhìn Servers, nhấn đúp chuột vào WAS v6.1 for Web services provider. Trình biên tập cấu hình máy chủ mở ra. 2. Mở rộng phần Security và chọn Security is enabled on this server. 3. Nhập ID của người sử dụng và mật khẩu. ID của người dùng xác định quản trị viên của bàn điều khiển quản trị của WebSphere. Nó phải giống như ID mà bạn đã nhập trong hộp thoại Security Configuration Wizard của bàn điều khiển quản trị của WebSphere. Bạn chọn Automatically trust server certificate during SSL handshake như ở hình 2. Hình 2. Chỉ rõ thông tin về bảo đảm an ninh trong trình biên tập cấu
  7. hình của máy chủ 4. Ghi lưu và đóng trình biên tập cấu hình của máy chủ lại. 5. Khởi chạy máy chủ WebSphere Application Server V6.1 cho bên cung cấp dịch vụ web. 6. Nhấn chuột phải vào WAS v6.1 for Web service provider và chọn Run administrative console. 7. Bạn sẽ thấy bàn điều khiển quản trị đã được bảo mật như ở hình 3. Nhập ID người sử dụng của bạn và mật khẩu để đăng nhập.
  8. Hình 3. Bàn điều khiển quản trị đã được bảo mật
  9. Xác định cấu hình xác thực cơ sở HTTP cho nhà cung cấp dịch vụ web Việc xác thực cơ sở HTTP sử dụng mô hình xác thực hiện có của Java EE. Trình biên tập bộ miêu tả triển khai Web được sử dụng để cấu hình thông tin về ai là người có quyền để truy cập vào các dịch vụ web, kiểu phương thức xác thực nào được sử dụng, và các mẫu URL và các phương thức HTTP nào được bảo vệ. Trình biên tập bộ miêu tả triển khai ứng dụng được sử dụng để thu thập các vai trò bảo mật, thêm người sử dụng hoặc các nhóm vào các vai trò đó. Định cấu hình cho bộ mô tả triển khai Web 1. Tại khung nhìn Project Explorer, mở rộng dự án web Calculator, sau đó nhấn đúp chuột vào Deployment Descriptor: Calculator. Bộ mô tả triển khai Web mở ra. 2. Nhấn vào thẻ Servlets. 3. Nhấn servlet com_ibm_calculator, sau đó kiểm tra phần URL Mappings. Bạn sẽ thấy servlet com_ibm_Calculator được ánh xạ đến địa chỉ URL services/Calculator, bạn lưu ý địa chỉ URL này vì bạn bảo vệ nó trong các bước sau. 4. Nhấn thẻ Pages. 5. Tại phần Login, nhấn danh sách thả xuống Authentication method và chọn Basic. 6. Nhập HTTP basic authentication tại mục realm name như ở hình 4.
  10. Hình 4. Cấu hình Đăng nhập 7. Phấn phiếu Security. 8. Tại phần Security Roles nhấn Add. Hộp thoại Add Security Role mở ra. 9. Nhập webservicesrole vào mục name và Authenticated Web service user vào mục description của hộp thoại. Sau đó nhấn Finish. 10. Nhấn vào mục vai trò bảo mật webservicesrole mà bạn vừa xác định. Sau đó tại mục Add. 11. Nhập WSConstraint làm tên của ràng buộc và nhấn Next. 12. Tại hộp thoại Add Web Resource bạn nhập ws_resource làm tên của tài nguyên. 13. Nhập Protected Web service resource làm nội dung mô tả. Tại mục HTTP Methods, bạn nhấn chọn GET và POST. 14. Tại phần Pattern, nhấn Add, và nhập /services/Calculator làm tên như ở hình 5. 15. Nhấn OK.
  11. Hình 5. Thêm tài nguyên Web 16. Nhấn Finish. 17. Tại phần Authorized Roles nhấn Add. 18. Nhập Valid role vào làm nội dung mô tả, chọn webservicesrole (xem hình 6), sau đó nhấn Finish.
  12. Hình 6. Thêm ràng buộc về cấp quyền 19. Ghi lưu và đóng bộ mô tả triển khai Web. Về đầu trang Định cấu hình cho bộ mô tả triển khai ứng dụng 1. Tại khung nhìn Package Explorer, mở rộng dự án ứng dụng doanh nghiệp CalculatorEAR, và nhấn đúp chuột vào mục Deployment Descriptor: CalculatorEAR. Trình biên tập bộ mô tả triển khai ứng dụng mở ra. 2. Nhấn phiếu Security sau đó nhấn Gather. Thao tác này thu thập tất cả các vai trò bảo đảm an ninh được định nghĩa trong tất cả các mô-đun. Bạn sẽ thấy vai trò webservicesrole đã được bổ sung. 3. Bây giờ bạn nhấn mục webservicesrole, mà bạn vừa thu thập được. Sau đó tại mục WebSphere Bindings, bạn chọn Users/Groups. 4. Tại phần Users, bạn nhấn Add.
  13. 5. Tại hộp thoại Users, bạn nhập một tên người dùng hợp lệ. Vì máy chủ WebSphere Application Server được cấu hình để sử dụng sổ đăng ký người sử dụng của hệ điều hành tại máy cục bộ, bạn phải nhập một tài khoản người dùng hợp lệ có thể được hệ điều hành của bạn xác thực. Để đơn giản, bạn có thể chỉ cần sử dụng tên người quản trị chính mà bạn đã sử dụng trong thủ thuật định cấu hình bảo đảm an ninh vì rằng tên người sử dụng này là có giá trị. Trình biên tập bộ mô tả triển khai ứng dụng của bạn phải trông giống như hình 7. 6. Ghi lưu và đóng trình biên tập lại. Hình 7. Trình biên tập bộ mô tả triển khai ứng dụng Về đầu trang Kiểm thử dịch vụ web với xác thực cơ sở HTTP đã được bật
  14. Vì dịch vụ Web được bật chế độ xác thực cơ sở HTTP, nên chỉ có người sử dụng được xác thực mới có thể truy cập các dịch vụ web của bạn. Bạn đã không định cấu hình trình khách dịch vụ Web phía với các ủy quyền cần thiết, do đó bạn hẳn sẽ nhận được một thông báo lỗi không có quyền nếu bạn cố gắng gọi thực hiện các hoạt động trong dịch vụ web. Chúng ta hãy kiểm thử các trình khách JavaServer Pages (JSP) để xem xác thực cơ sở HTTP có hiệu lực hay không. 1. Bạn đảm bảo rằng WAS v6.1 for Web services provider (máy chủ ứng dụng WebSphere cho bên cung cấp dịch vụ Web) đã được khởi động. 2. Bạn đảm bảo rằng máy chủ WAS v6.1 for Web services consumer (máy chủ ứng dụng WebSphere cho bên tiêu dùng dịch vụ Web) đã được khởi động. 3. Tại khung nhìn Project Explorer, mở rộng CalculatorWebClient, WebContent và sampleCalculatorProxy. Nhấn chuột phải vào TestClient.jsp > Run As > Run on server. 4. Tại hộp thoại Define new server, chọn mục WAS v6.1 for Web services consumer, và nhấn chọn Set server as project default (do not ask again), như tại hình 8. 5. Nhấn Finish. Trình khách JSP mẫu xuất hiện
  15. Hình 8. Xác định một máy chủ mới 6. Nhấn phương thức add(int,int) và nhập các giá trị để kiểm tra. Kết quả sẽ hiển thị ngoại lệ: ( 401 ) Unauthorized. 7. Hãy xem bàn điều khiển của máy chủ WebSphere Application Server. Bạn sẽ thấy lỗi như trong liệt kê 1. Liệt kê 1. Lỗi không được cấp phép WebServicesFault
  16. faultCode: HTTP faultString: ( 401 ) Unauthorized faultActor: http://localhost:9080 faultDetail: null: WSWS3192E: Error: return code: ( 401 ) Unauthorized . ( 401 ) Unauthorized Xin chúc mừng! Dịch vụ Web đã được bật chế độ xác thực cơ sở HTTP và chỉ người sử dụng được phép mới có thể truy cập các dịch vụ web. Xác định cấu hình xác thực cơ sở HTTP cho trình khách dịch vụ Web bằng cách sử dụng bộ mô tả triển khai Bạn có thể định cấu hình xác thực cơ sở HTTP hoặc bằng cách sử dụng trình biên tập bộ mô tả triển khai hoặc thiết lập nó bằng mã lệnh trong chương trình. Trong phần này, bạn định cấu hình xác thực cơ sở HTTP bằng cách sử dụng trình biên tập bộ mô tả triển khai Web.
  17. 1. Tại khung nhìn Package Explorer, mở rộng dự án web CalculatorWebClient, và nhấn đúp chuột vào Deployment Descriptor: CalculatorWebClient. Bộ mô tả triển khai Web mở ra. 2. Nhấn phiếu WS Binding Tại phần Port Qualified Name Binding Details, tìm đến mục xác thực cơ sở HTTP. Nhập ID người sử dụng hợp lệ và mật khẩu, như tại hình 9. Hình 9. Định rõ xác thực cơ sở HTTP 3. Ghi lưu bộ mô tả triển khai. 4. Tại khung nhìn Project Explorer, mở rộng CalculatorWebClient, WebContent và sampleCalculatorProxy. Sau đó, nhấn chuột phải vào TestClient.jsp và chọn Run As > Run on server.
  18. 5. Thử nghiệm trình khách JSP mẫu. Lần này bạn sẽ có thể sử dụng thành công các dịch vụ web.
  19. Xác định cấu hình xác thực cơ sở HTTP cho trình khách dịch vụ web bằng chương trình Bạn cũng có thể định cấu hình xác thực cơ sở HTTP cho trình khách dịch vụ web bằng mã lệnh trong chương trình. Nếu bạn định cấu hình xác thực cơ sở HTTP bằng cả hai cách: sử dụng bộ mô tả triển khai và bằng mã lệnh trong chương trình, thì các giá trị được thiết lập theo chương trình sẽ có mức ưu tiên cao hơn so với các giá trị được định nghĩa tại phần kết buộc của bộ mô tả triển khai. 1. Bạn hủy bỏ các thông tin xác thực cơ sở HTTP mà bạn thiết lập ở phiếu WS Binding của bộ mô tả triển khai Web và ghi lưu nó. 2. Tại khung nhìn Project Explorer, mở rộng CalculatorWebClient, Java Resources: src và com.ibm. Sau đó, mở tệp CalculatorProxy.java. 3. Thêm câu lệnh nhập khẩu này ở phía trên cùng của tệp CalculatorProxy.java: : import javax.xml.rpc.Stub; 4. Xác định vị trí các dòng lệnh trong tệp CalculatorProxy.java như tại liệt kê 2. Liệt kê 2. Mã lệnh cần được thay đổi if (_useJNDI) {
  20. try { javax.naming.InitialContext ctx = new javax.naming.InitialContext(); __calculator = ((com.ibm.CalculatorService)ctx. lookup("java:comp/env/service/CalculatorService")).getCalculator(); } 5. 6. Thực hiện các thay đổi như được tô đậm trong liệt kê 3. Liệt kê 3. Thiết lập các thông tin xác thực cơ sở bằng mã lệnh trong chương trình if (_useJNDI) { try { javax.naming.InitialContext ctx = new javax.naming.InitialContext(); __calculator = ((com.ibm.CalculatorService)ctx.

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản