1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu cơ chế đăng nhập một lần (single sign on) và thử nghiệm dựa trên thư viện PHPCAS

95 19 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 95
Dung lượng 2,15 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - TÌM HIỂU CƠ CHẾ ĐĂNG NHẬP MỘT LẦN (SINGLE SIGN ON) VÀ THỬ NGHIỆM DỰA TRÊN THƢ VIỆN PHPCAS ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng Nghệ Thơng Tin HẢI PHỊNG - 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHỊNG -o0o - TÌM HIỂU CƠ CHẾ ĐĂNG NHẬP MỘT LẦN (SINGLE SIGN ON) VÀ THỬ NGHIỆM DỰA TRÊN THƢ VIỆN PHPCAS ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng Nghệ Thông Tin Giáo viên hướng dẫn: Th.s Bùi Huy Hùng Sinh viên thực hiện: Đào Văn Phong Mã số sinh viên: 1351010001 HẢI PHÒNG - 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG CỘNG HÒA XA HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -o0o - NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinh viên: Đào Văn Phong Lớp: CT1301 Mã SV: 1351010001 Ngành: Công Nghệ Thơng Tin Tên đề tài:Tìm hiểu chế đăng nhập lần (single sign on) thử nghiệm dựa thư viện phpCAS NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung - Tìm hiểu đăng nhập lần (Single Sign On) - Tìm hiểu CAS (Central Authentication Service) - Thử nghiệm, cài đặt CAS, kiểm thử với website PHP dựa thư viện phpCAS - Nghiêm túc thực nhiệm vụ nội dung giáo viên hướng dẫn b Các yêu cầu cần giải - Lý thuyết Nắm sở lý thuyết đăng nhập lần (Single Sign On) Nắm trình cài đặt CAS thức triển khai Single Sign On - Thực nghiệm (chương trình) Cài đặt CAS thực nghiệm với website PHP Các số liệu cần thiết để tính toán …………………………………………………………………………………… …………………………………………………………………………………… Địa điểm thực tập …………………………………………………………………………………… …………………………………………………………………………………… CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Ngƣời hƣớng dẫn thứ nhất: Họ tên: Bùi Huy Hùng Học hàm, học vị: Thạc sĩ Cơ quan công tác: Trường Đại Học Dân Lập Hải Phòng Nội dung hướng dẫn: - Tìm hiểu Single Sign On dựa Central Authentication Service - Thử nghiệm với website PHP sử dụng thư viện phpCAS Ngƣời hƣớng dẫn thứ hai: Họ tên: …………………………………………………………………… Học hàm, học vị: …………………………………………………………… Cơ quan công tác: …………………………………………………………… Nội dung hướng dẫn: ………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Đề tài tốt nghiệp giao ngày….tháng….năm 2013 Yêu cầu phải hoàn thành trước ngày….tháng….năm 2013 Đã nhận nhiệm vụ: Đ.T.T.N Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Cán hướng dẫn Đ.T.T.N Đào Văn Phong Th.s Bùi Huy Hùng Hải Phòng, ngày tháng .năm 2013 HIỆU TRƯỞNG GS.TS.NGƯT Trần Hữu Nghị PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp: Đánh giá chất lượng đề tài tốt nghiệp (so với nội dung yêu cầu đề nhiệm vụ đề tài tốt nghiệp) Cho điểm cán hướng dẫn: (Điểm ghi số chữ) Ngày .tháng .năm 2013 Cán hướng dẫn (Ký, ghi rõ họ tên) PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP Đánh giá chất lƣợng đề tài tốt nghiệp (về mặt nhƣ sở lý luận, thuyết minh chƣơng trình, giá trị thực tế) ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Cho điểm cán phản biện (Điểm ghi số chữ) Ngày .tháng .năm 2013 Cán chấm phản biện (Ký, ghi rõ họ tên) Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng LỜI CẢM ƠN Trước hết em xin chân thành cám ơn thầy giáo, cô giáo Khoa Công nghệ thông tin Trường Đại học Dân lập Hải Phòng, người dạy dỗ, trang bị cho chúng em kiến thức bản, cần thiết năm học vừa qua để em có đủ điều kiện hồn thành đề tài tốt nghiệp Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo Ths Bùi Huy Hùng, thầy hướng dẫn, bảo tận tình suốt thời gian làm đề tài tốt nghiệp Em xin cảm ơn hai thầy Đoàn Quang Hưng thầy Trương Hoàng Dũng bên trung tâm thư viện ICT hỗ trợ em nhiều trình làm đồ án Con xin gửi đến cha mẹ lời ghi ơn sâu sắc, người sinh dạy bảo trưởng thành đến ngày hôm Cảm ơn người yêu động viên cho lúc mệt mỏi Em động lực để cố gắng Mặc dù cố gắng để hoàn thiện báo cáo tốt nghiệp song khả hạn chế nên báo cáo cịn nhiều thiếu sót Vì em mong nhận đóng góp chân tình thầy cô bạn bè Một lần em xin chân thành cảm ơn! Hải Phòng, Ngày 04 tháng 11 năm 2013 Sinh viên Đào Văn Phong Đào Văn Phong - CT1301 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC HÌNH DANH MỤC BẢNG DANH SÁCH CHỮ VIẾT TẮT LỜI NÓI ĐẦU CHƢƠNG I GIỚI THIỆU VỀ CƠ CHẾ ĐĂNG NHẬP LẦN (SINGLE SIGN ON) 1.1 Tổng quan SSO [1] 1.2 Lợi ích mà SSO mang lại 1.3 Một số vấn đề thường gặp triển khai SSO 10 1.4 Các giải pháp SSO nay.[2] 11 CHƢƠNG II PHẦN MỀM NGUỒN MỞ CENTRAL AUTHENTICATION SERVICE .16 2.1 Giới thiệu phần mềm nguồn mở (Opensource).[3] 16 2.2 Dịch vụ chứng thực trung tâm (Central Authentication Service).[4] 17 2.2.1 Tổng quan CAS 17 2.2.2 Lịch sử hình thành [5] 18 2.2.3 Các phiên CAS 19 2.2.4 CAS Protocol 19 2.2.5 Tổng kết 27 2.2.6 CAS Entities 29 2.2.7 Nguyên tắc hoạt động 32 2.2.8 Kiến trúc tổng quan CAS 37 2.3 Ruby CAS.[6] 40 2.4 CAS Client 41 2.4.1 Giới thiệu ngơn ngữ xây dựng website phía client 41 2.5 Thư viện phpCAS.[7] 41 Đào Văn Phong - CT1301 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phịng Hình 3.37: Đăng nhập user không tồn CAS server Pha 3: User bị xóa hồn tồn CSDL lưu trữ người dùng CAS server, đăng nhập vào hệ thống nào? Đối với trường hợp thì giống với trường hợp pha 2: User tồn client Pha 4: User bị no active nghĩa trước thành viên sau thời gian cần phải tạm thời không cho user đăng nhập sau thời gian lại cho đăng nhập lại (VD: SVtrong trường thời điểm thi chưa hồn thành khoản tiền lên khơng thể đăng nhập vào hệ thống vào xem điểm Sau hồn thành khoản tiền sinh viên lại đăng nhập lại) Vấn đề nảy hệ thống thống giải nào? Xin thưa CAS server có nhiệm vụ lưu trữ thơng tin người dùng username, password, email, role… tùy thuộc vào role mà xếp user thuộc vào nhóm người dùng (active, inactive, locked….) client có yêu cầu CAS trả lại cho client thơng tin có role việc xử lý tùy vào role mà triển khai Pha 5: Khi user thay đổi thông tin người dùng hệ thống xử lý nào? Giống trường hợp pha Pha 6: Trường hợp CAS server ngừng hoạt động việc xác thực diễn ? Đào Văn Phong - CT1301 73 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng Trước client điều người dùng tới CAS server kiểm tra http Status code CAS server trả Nếu Status Code == 200 303 điều hướng client đến CAS server cịn ngược lại gặp status code khác xác thực thơng tin CSDL local Hình 3.38: Sơ đồ luồng pha Đào Văn Phong - CT1301 74 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phịng KẾT LUẬN Trong đồ án em tìm hiểu chế đăng nhập lần (single sign on) thử nghiệm dựa thư viện phpcas Đồ án thực nhiệm vụ đề đạt kết sau: - Tìm hiểu tổng qua chế đăng nhập lần, thức lưu trữ, truy cập vào CSDL - Có thêm kiến thức hệ thống đăng nhập lần (SSO) dịch vụ xác thực trung tâm (CAS) - Triển khai thành cơng SSO thơng qua RubyCAS - Tích hợp thành cơng thư viện phpCAS cho website PHP - Kỹ lập trình, kỹ tìm hiểu phân tích nâng cao Trong trình tìm hiểu thực nghiệm hệ thống nảy sinh vấn đề sau: - Hầu hết tài liệu viết tiếng Anh, q trình tìm hiểu khơng tránh sai sót nên mong góp ý thầy cô bạn - Thời gian bị hạn chế nên chưa thực tìm hiểu thật chi tiết hệ thống - Hệ thống SSO hoạt động thông qua cookies nên vấn đề phát sinh từ phía người dùng người dùng vơ ý hay cố ý tắt cookies trình duyệt nên hệ thống SSO khơng hoạt động - CAS cung cấp ticket tương ứng với cookie trình duyệt : người dùng ngồi vào mày sử dụng trình duyệt khơng thể đăng nhập khơng có khái niệm đăng nhâp thêm user điểm hạn chế so với hệ thống đăng nhập tập trung khác google Hướng phát triển là: - Giải vấn đề tồn đọng trình nghiên cứu xây dựng hệ thống - Tiếp tục nghiên cứu xây dựng hệ thống trở lên hồn thiện - Tích hợp hệ thống SSO tảng, ngôn ngữ khác NET, JAVA, RUBY hay hệ thống đóng Đào Văn Phong - CT1301 75 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng TÀI LIỆU THAM KHẢO [1] http://en.wikipedia.org/wiki/Single_sign-on [2] http://en.wikipedia.org/wiki/List_of_single_sign-on_implementations [3]http://vi.wikipedia.org/wiki/Phần_mềm_nguồn_mở [4]http://www.jasig.org/cas/protocol [5]http://en.wikipedia.org/wiki/Central_Authentication_Service [6]https://github.com/rubycas/rubycas-server/wiki [7] https://wiki.jasig.org/display/CASC/phpCAS Đào Văn Phong - CT1301 76 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng PHỤ LỤC Phụ lục A: CAS phản hồi lƣợc đồ XML Đào Văn Phong - CT1301 77 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng Đào Văn Phong - CT1301 78 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng Phụ lục B: Chuyển hƣớng an tồn Sau đăng nhập thành cơng, chuyển hướng cách an toàn cho client từ CAS đến đích cuối phải xử lý cẩn thận Trong hầu hết trường hợp, client gửi thông tin đến máy chủ CAS yêu cầu POST Trong đặc tả này, máy chủ CAS sau phải chuyển người dùng đến ứng dụng với yêu cầu GET Các HTTP/1.1 cung cấp mã phản hồi 303: Bên cạnh đó, cung cấp cho hành vi mong muốn: kịch tiếp nhận liệu thông qua yêu cầu POST, thông qua 303 redirection, chuyển tiếp trình duyệt đến URL khác thông qua GET request Tuy nhiên, tất trình duyệt thực hành vi cách xác Các phương pháp khuyến cáo chuyển hướng dùng JavaScript Một trang có chứa window.location.href theo cách sau thực đầy đủ: Yale Central Authentication Service window.location.href="https://portal.yale.edu/Login?ticket=ST- " mce_href="https://portal.yale.edu/Login?ticket=ST- ";

CAS login successful.

Click here to access the service you requested.

Đào Văn Phong - CT1301 79 Đồ án tốt nghiệp Trường ĐH Dân Lập Hải Phòng Phụ Lục C: Phần code xử lý đăng nhập SSO hệ thống Phần xử lý đăng nhập trước tích hợp phpCAS Sau tích hợp: Trong đó: $this->load->helper('h2') – load phần helper tích hợp phpCAS Phụ Lục D: Phần code xử lý đăng nhập SSO hệ thống Phần xử lý trước tích hợp phpCAS

Ngày đăng: 22/04/2021, 12:34

TỪ KHÓA LIÊN QUAN

w