Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần

Việc mỗi tổ chức sở hữu và vận hành nhiều website ngày càng phổ biến trên thế giới. Tuy nhiên,

nó thường dẫn đến vấn đề một người dùng cần phải ghi nhớ nhiều tài khoản đăng nhập và mật

khẩu để đăng nhập vào các website khác nhau của cùng một tổ chức do cơ sở dữ liệu tồn tại độc

lập với nhau. Từ đó, vấn đề đăng nhập một lần cho các website trong cùng một tổ chức là một yêu

cầu phổ biến. Tác giả nghiên cứu đã xây dựng giải pháp và xây dựng hệ thống đăng nhập một lần

hoàn toàn mới, cung cấp các dịch vụ xác thực người dùng dựa trên cơ sở dữ liệu người dùng tập

trung. Hệ thống được xây dựng dựa trên việc khai thác tính độc lập đối với nền tảng của dịch vụ

web, khả năng chia sẻ cookie giữa các trình duyệt cũng như ứng dụng web. Nghiên cứu cũng tiến

hành triển khai ứng dụng thử nghiệm trên hệ thống đã được xây dựng.

pdf 7 trang phuongnguyen 11600
Bạn đang xem tài liệu "Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần

Nghiên cứu dịch vụ web để xây dựng hệ thống đăng nhập một lần
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 
27 
NGHIÊN CỨU DỊCH VỤ WEB ĐỂ XÂY DỰNG 
HỆ THỐNG ĐĂNG NHẬP MỘT LẦN 
Nguyễn Trần Quốc Vinh1*, Nguyễn Văn Vương2 
 1Trường Đại học Sư phạm, Đại học Đà Nẵng 
2Trường Đại học Kinh tế, Đại học Đà Nẵng 
TÓM TẮT 
Việc mỗi tổ chức sở hữu và vận hành nhiều website ngày càng phổ biến trên thế giới. Tuy nhiên, 
nó thường dẫn đến vấn đề một người dùng cần phải ghi nhớ nhiều tài khoản đăng nhập và mật 
khẩu để đăng nhập vào các website khác nhau của cùng một tổ chức do cơ sở dữ liệu tồn tại độc 
lập với nhau. Từ đó, vấn đề đăng nhập một lần cho các website trong cùng một tổ chức là một yêu 
cầu phổ biến. Tác giả nghiên cứu đã xây dựng giải pháp và xây dựng hệ thống đăng nhập một lần 
hoàn toàn mới, cung cấp các dịch vụ xác thực người dùng dựa trên cơ sở dữ liệu người dùng tập 
trung. Hệ thống được xây dựng dựa trên việc khai thác tính độc lập đối với nền tảng của dịch vụ 
web, khả năng chia sẻ cookie giữa các trình duyệt cũng như ứng dụng web. Nghiên cứu cũng tiến 
hành triển khai ứng dụng thử nghiệm trên hệ thống đã được xây dựng. 
Từ khóa: Xác thực người dùng; đăng nhập một lần; website; cookie; dịch vụ web. 
ĐẶT VẤN ĐỀ* 
Ngày nay, việc sở hữu và vận hành nhiều ứng 
dụng web đã trở nên phổ biến, đặc biệt là các 
tổ chức lớn. Các ứng dụng hoạt động độc lập 
với nhau, có thể được phát triển trên những 
nền tảng khác nhau. Người dùng phải thực 
hiện đăng ký thông tin và đăng nhập lại khi 
chuyển sang sử dụng ứng dụng khác. 
Tổ chức càng nhiều ứng dụng, người dùng 
càng phải nhớ một lượng lớn tên đăng nhập 
và mật khẩu khác nhau. Công việc này chiếm 
một khoản thời gian lớn của người dùng, làm 
giảm hiệu suất phục vụ của toàn hệ thống. 
Các nhà phát triển phải giải quyết hàng loạt 
vấn đề liên quan đến quản lý cơ sở dữ liệu 
người dùng và bảo mật ở các hệ thống khác 
nhau. Để giảm bớt thao tác của người dùng, 
tăng tính chuyên nghiệp cho hệ thống, xây 
dựng hệ thống đăng nhập một lần (ĐNML, 
Single Sign On – SSO) được đánh giá là giải 
pháp tốt nhất hiện nay. 
Đăng nhập một lần là quá trình xác thực 
phiên làm việc của người dùng, cho phép sử 
dụng một tên đăng nhập và mật khẩu để truy 
cập vào nhiều ứng dụng [1]. Sau khi được xác 
thực, người dùng có thể truy cập các ứng 
* Tel: 0914 780898, Email: ntquocvinh@gmail.com 
dụng khác mà không phải đăng nhập lại, các 
quyền được trao và thông tin người dùng 
được lưu giữ trong suốt phiên làm việc. Như 
vậy, hệ thống ĐNML vừa đảm bảo tính thuận 
tiện vừa tăng độ bảo mật khi sử dụng. Hơn 
nữa, việc quản lý tài khoản tập trung sẽ làm 
cho nhà quản trị chuyên tâm vào phát triển 
ứng dụng, công việc bảo mật sẽ do hệ thống 
ĐNML đảm nhận. Đối với người dùng, họ chỉ 
cần một tài khoản cho tất cả các ứng dụng. 
Tuy nhiên, hệ thống ĐNML gặp phải vấn đề 
đó là cơ chế bảo mật độc lập với nền của ứng 
dụng, hoạt động trên kiến trúc riêng biệt [2]. 
Điều này đặt ra vấn đề các ứng dụng phải 
hiểu được và chấp nhận các thông tin xác 
thực do ĐNML cung cấp. Đồng thời phải 
kiểm tra được tính chính xác của thông tin 
xác thực. 
CÁC HỆ THỐNG ĐNML TRÊN THẾ GIỚI 
Trên thế giới, có nhiều giải pháp ĐNML với 
nhiều phiên bản miễn phí và thương mại. Nổi 
bật nhất là hệ thống Central Authentication 
Service (CAS) và Oracle Enterprise Single 
Sign-on (Oracle ESSO). 
Hệ thống CAS do có đặc thù là mã nguồn mở 
nên cung cấp khả năng mở rộng cho nhà phát 
triển và được cộng đồng không ngừng bổ 
sung các tính năng mới. CAS client hỗ trợ các 
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 
28 
ứng dụng được phát triển bằng nhiều ngôn 
ngữ như PHP, Java, .NET. Tuy nhiên, tất cả 
ứng dụng phải được phát triển bằng một ngôn 
ngữ chung nhất, đây chính là hạn chế lớn của 
hệ thống CAS. 
Khi người dùng chưa đăng nhập, i) ứng dụng 
sẽ yêu cầu CAS xác thực tài khoản do người 
dùng cung cấp; ii) sau khi xác thực thành 
công, CAS trả về cho trình duyệt các chuỗi ký 
tự ngẫu nhiên chứa dữ liệu bảo mật và bắt đầu 
bằng tiền tố nhất định gọi là các vé (Ticket). 
Mỗi vé có một ý nghĩa riêng, CAS sử dụng vé 
ủy quyền (Ticket-Granting Ticket - TGT) làm 
cơ sở cho CAS thực hiện ĐNML. Ngoài ra, 
CAS sử dụng vé dịch vụ (Service Ticket - ST) 
được tạo duy nhất cho mỗi ứng dụng. Vé dịch 
vụ được dùng một lần trong một phiên làm việc 
của người dùng; iii) ứng dụng gửi vé dịch vụ 
cho CAS để nhận về mã người dùng và tự động 
tạo phiên làm việc cho người dùng [3]. 
Trường hợp người dùng truy cập vào ứng 
dụng khi đã được CAS xác thực, i) ứng dụng 
sẽ gửi vé ủy quyền được lấy từ trình duyệt 
cho CAS để xác thực; ii) khi xác thực thành 
công, CAS sẽ gửi cho ứng dụng vé dịch vụ; 
iii) ứng dụng gửi vé dịch vụ cho CAS để lấy về 
thông tin mã người dùng và tự động tạo phiên 
làm việc cho người dùng [3]. Tất cả được xử lý 
thông qua các liên kết (URL) được trao đổi giữa 
các ứng dụng web và máy chủ CAS. 
Khác với hệ thống CAS, hệ thống Oracle 
ESSO là bản thương mại do Oracle phát triển. 
Hệ thống này là một giải pháp trọn gói cho 
việc xác thực và quản lý người dùng đối với 
tất cả các ứng dụng do Oracle cung cấp. Tuy 
nhiên, việc triển khai hệ thống này không hề 
đơn giản, tác động lớn đến hệ thống sử dụng 
do phải thay đổi phương thức truy cập hệ 
thống [4]. Bên cạnh đó, kinh phí để triển khai 
hệ thống này là khá lớn, chỉ phù hợp với số ít 
các doanh nghiệp sẵn sàng chi một số tiền lớn 
để triển khai. 
Oracle ESSO có cơ chế xác thực rất phức tạp, 
dựa trên các công nghệ quản lý đăng nhập 
(Logon Manager), khôi phục mật khẩu 
(Password Reset), quản lý khởi tạo xác thực 
người dùng và tự động tạo “chữ ký tắt” của 
người dùng (Kiosk Manager), quản lý xác 
thực (Authentication Manager), các công cụ 
dành cho quản trị viên (Provisioning 
Gateway). Oracle ESSO không chỉ cung cấp 
xác thực một lần cho ứng dụng nền web mà 
còn cho các loại ứng dụng khác [5]. 
Tại Việt Nam, nhu cầu về việc triển khai hệ 
thống quản lý ĐNML ngày càng trở nên cấp 
thiết và đã được triển khai ứng dụng ở nhiều 
nơi, chủ yếu là dựa trên các hệ thống có sẵn. 
Chẳng hạn, Đại học Đà Nẵng đã xây dựng và 
triển khai hệ thống quản lý đăng nhập tập 
trung, được công bố trong công trình [6]. Tuy 
nhiên, công trình này cũng mới chủ yếu tập 
trung giới thiệu tổng quan về ĐNML, giới 
thiệu mô hình hệ thống tổng quan và các kết 
quả triển khai ứng dụng, chưa chỉ ra được các 
công nghệ được ứng dụng cũng như cách thức 
ứng dụng các công nghệ, kỹ thuật khác nhau 
để xây dựng hệ thống ngoài thông tin về giao 
thức LDAP. 
Nghiên cứu này chỉ rõ kiến trúc của hệ thống, 
cụ thể cách thức ứng dụng công nghệ dịch vụ 
web [7, 8] cùng với kỹ thuật chia sẻ cookie 
giữa các ứng dụng web để xây dựng hệ thống 
ĐNML. Việc phân chia rõ ràng giữa quản lý 
xác thực và quản lý phân quyền cũng là yêu 
cầu phổ biến, nghiên cứu chỉ quan đến khía 
cạnh quản lý xác thực người dùng. 
XÂY DỰNG HỆ THỐNG ĐNML 
Các công nghệ được sử dụng 
Dịch vụ web 
Dịch vụ web (web service) là một tập các 
chuẩn đặc tả mở rộng khả năng của các chuẩn 
có sẵn như XML, URL và HTTP nhằm cung 
cấp chuẩn truyền thông giữa các hệ thống với 
nhau. Dịch vụ web cung cấp các phương thức 
giúp ứng dụng tại máy khách truy cập và sử 
dụng các dịch vụ như là một ứng dụng web 
thực sự. Về bản chất, dịch vụ web dựa trên 
XML và HTTP, trong đó XML làm nhiệm vụ 
mã hóa và giải mã dữ liệu và dùng SOAP để 
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 
29 
truyền tải dữ liệu. Một đặc trưng quan trọng 
của dịch vụ web đó là không phụ thuộc vào 
nền tảng công nghệ nào, điều này được tác 
giả ứng dụng để truyền dữ liệu giữa các ứng 
dụng khác nhau. 
Trong hệ thống ĐNML được tác giả xây 
dựng, dịch vụ web đóng vai trò trung tâm của 
việc xử lý đăng nhập và quản lý dữ liệu tài 
khoản người dùng. Nhằm đảm bảo các yêu 
cầu đặt ra, hệ thống ĐNML cần cung cấp các 
dịch vụ cơ bản như: i) Dịch vụ LogOn cung 
cấp các phương thức truy cập thông tin tài 
khoản người dùng dựa trên tên đăng nhập và 
mật khẩu; ii) dịch vụ VerifySessionKey dùng 
để xác thực thông tin phiên làm việc của 
người dùng được gửi kèm yêu cầu của ứng 
dụng; iii) dịch vụ AutoLogin trả về thông tin 
người dùng dựa vào thông tin phiên làm việc; 
iv) dịch vụ LogOut hỗ trợ đăng xuất người 
dùng ở tất cả các ứng dụng; v) dịch vụ 
ChangePassword giúp người dùng thay đổi 
mật khẩu. Tất nhiên, để có thể sử dụng các 
dịch vụ web này, người dùng hoặc trình ứng 
dụng triệu gọi chúng phải cung cấp thông tin 
xác thực quyền sử dụng. 
Cookie và vấn đề truyền dữ liệu giữa các 
ứng dụng 
Cookie là một phần dữ liệu được lưu trữ trên 
trình duyệt của máy khách và tồn tại trong một 
khoảng thời gian nhất định do ứng dụng web 
quy định. Cookie được trình duyệt tự động gửi 
theo mỗi khi truy cập đến máy chủ web. 
Cookie của các ứng dụng khác nhau sẽ khác 
nhau. Việc lấy thông tin cookie từ một ứng 
dụng web khác là rất khó khăn, nhất là khi hai 
ứng dụng khác tên miền (domain). Trong 
nghiên cứu này, tác giả đã tiến hành tạo 
cookie theo cách thay đổi đường dẫn mặc 
định để cookie được tạo ra có thể dùng chung 
cho các ứng dụng có nhu cầu. Đây chính là cơ 
sở quan trọng cho việc xây dựng hệ thống 
ĐNML cho nhiều ứng dụng với tên miền 
khác nhau. 
SSL và kết nối HTTPS 
SSL (Secure Sockets Layer) là công nghệ bảo 
mật tiêu chuẩn để thiết lập một kết nối đã 
được mã hóa giữa một máy chủ và một máy 
khách [9]. Thông thường, dữ liệu được truyền 
qua lại giữa máy khách và máy chủ dưới dạng 
không được mã hóa, dữ liệu được truyền tải 
giữa hai nút mạng có thể được đọc và hiểu 
được bởi một bên thứ ba quan sát ở nút trung 
gian. Nếu dữ liệu được truyền qua kênh SSL, 
nó sẽ được mã hoá và bên thứ ba nằm ở nút 
trung gian sẽ không thể hiểu được nội dung 
thông điệp. 
HTTPS là giao thức HTTP trên nền SSL/TSL. 
Tất cả dịch vụ của hệ thống ĐNML được xây 
dựng trong phạm vi nghiên cứu được yêu cầu 
sử dụng SSL. Mọi kết nối từ máy khách đến 
hệ thống ĐNML đều được thiết lập bằng giao 
thức HTTPS. Việc mã hoá và giải mã được 
thực hiện theo chứng chỉ số SSL. Nếu chứng 
chỉ được cấp bởi một tổ chức có uy tín và 
được chấp nhận rộng rãi trên thế giới, chứng 
chỉ sẽ được trình duyệt web cũng như các ứng 
dụng tự động chấp nhận. Nếu chứng chỉ SSL 
được tạo ra bởi các cá nhân hoặc tổ chức chưa 
được công nhận rộng rãi trên thế giới, người 
dùng phải thực hiện thao tác xác nhận chứng 
chỉ số này khi duyệt web. Tuy nhiên, với ứng 
dụng web truy cập đến dịch vụ web, cần phải 
lập trình xử lý để mặc định nó luôn luôn tự 
động xác nhận chứng chỉ SSL của máy chủ 
dịch vụ web mà không chờ đợi vào thao tác 
thủ công của con người. 
Thiết kế hệ thống 
Mô hình xác thực người dùng 
Hệ thống ĐNML dùng một chuỗi ký tự được 
sinh ra ngẫu nhiên và không trùng nhau giữa 
các phiên làm việc của người dùng, gọi là 
SessionKey, để nhận biết phiên làm việc của 
người dùng. Khi người dùng truy cập vào các 
trang có yêu cầu xác thực, ứng dụng sẽ gọi 
các dịch vụ của hệ thống ĐNML. Trong 
trường hợp SessionKey không tồn tại, hoặc 
không hợp lệ, ứng dụng sẽ chuyển người 
dùng đến trang đăng nhập. Vậy, để được xác 
thực, người dùng cần phải có tài khoản và mật 
khẩu hợp lệ hoặc là SessionKey hợp lệ. Hình 
1 mô tả quá trình xác thực người dùng.
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 
30 
Browser
Ứng dụng
domain1.udn.vn
Hệ thống SSO
sso.udn.vn
Hệ thống Quản lý người dùng
UserManager
Gửi thông tin đăng nhập
Kiểm tra tài khoản với 
thông tin đăng nhập
[tài khoản không tồn tại]
Thông báo 
đăng nhập không thành công
[tài khoản tồn tại]
Tạo SessionKey
Lưu SessionKey vào 
cơ sở dữ liệu
Gọi dịch vụ kiểm tra
thông tin đăng nhập
Yêu cầu SessionKey
[Tồn tại SessionKey]
Gọi dịch vụ 
xác thực SessionKey Kiểm tra tài khoản với 
giá trị SessionKey
[SessionKey không tồn tại]
Chuyển đến trang đăng nhập
[SessionKey tồn tại]
Xóa cookie
Gọi dịch vụ lấy thông tin người dùng
Tạo phiên làm việc cho 
người dùngChuyển về trang người dùng yêu cầu
Cập nhật thời hạn SessionKey 
của phiên làm việc
Tìm kiếm người dùng 
với SessionKey
Lưu SessionKey vào cookie 
của trình duyệt
Gửi SessionKey thông qua cookie
Hình 1: Sơ đồ mô tả quá trình xác thực người dùng
Ban đầu, trình duyệt không có bất kỳ cookie 
nào dùng cho việc xác thực với dịch vụ 
ĐNML. Vì vậy, khi người dùng truy cập vào 
trang web có yêu cầu xác thực ở bất kỳ hệ 
thống domain1.udn.vn hoặc domain2.udn.vn 
đều được yêu cầu nhập thông tin người dùng 
tại trang đăng nhập của mỗi hệ thống. Một khi 
người dùng đăng nhập thành công vào hệ 
thống, cookie chứa thông tin xác thực cho 
người dùng sẽ được tạo và được gửi đến trình 
duyệt web. 
Bấy giờ, nếu người dùng truy cập vào bất cứ 
hệ thống domain1.udn.vn hoặc 
domain2.udn.vn, trình duyệt sẽ gửi cookie 
xác thực đến ứng dụng web. Các ứng dụng 
web sẽ nhận cookie và gửi SessionKey đến hệ 
thống sso.udn.vn. Nó sẽ kiểm tra và gửi thông 
tin người dùng về cho ứng dụng web yêu cầu, 
gia hạn thời gian cho phiên làm việc nếu 
SessionKey hợp lệ. Ứng dụng web sẽ cập 
nhật và gửi cookie mới cho trình duyệt web 
để nó gửi đến máy chủ web trong lần truy cập 
sau của người dùng. 
Mô hình đăng xuất một lần (Single Sign Out). 
Để kết thúc phiên làm việc, người dùng cần 
yêu cầu chức năng đăng xuất từ một hệ thống 
bất kỳ. Dịch vụ ĐNML sẽ được gọi để hủy 
SessionKey và xóa phiên làm việc của người 
dùng. Hình 2 mô tả chức năng đăng xuất một 
lần. Người dùng khi đăng xuất tại một hệ 
thống bất kỳ thì các hệ thống khác cũng tự 
động hủy phiên làm việc của người dùng. Lúc 
này, mọi thông tin đăng nhập của sẽ bị xóa, 
người dùng sẽ phải đăng nhập lại để bắt đầu 
phiên làm việc mới. 
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 
31 
Trình duyệt
Browser
Ứng dụng
domain1.udn.vn
Hệ thống SSO
sso.udn.vn
Hệ thống Quản lý người dùng
UserManager
Yêu cầu đăng xuất
Lấy giá trị SessionKey
Kiểm tra 
SessionKey
[Tồn tại SessionKey]
Gửi yêu cầu đăng xuất
Xóa SessionKey trong 
CSDL
Chuyển đến trang đăng nhập
Xóa SessionKey 
trên trình duyệt
Gửi SessionKey 
thông qua cookie
Hình 2: Mô hình Đăng xuất một lần 
Ứng dụng 
asp.udn.vn
IP: 192.168.20.9 Hệ thống 
SSO 
sso.udn.vn
IP: 192.168.8.30
Ứng dụng 
php1.udn.vn 
php2.udn.vn
IP: 192.168.3.3
IP: 192.168.7.10
Hình 3: Sơ đồ thử nghiệm hệ thống ĐNML 
CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 
KẾT QUẢ 
Hệ thống ĐNML được xây dựng trong phạm 
vi nghiên cứu đã được triển khai ứng dụng 
thành công tại Trường Đại học Kinh tế - Đại 
học Đà Nẵng từ tháng 5/2013 cho các ứng 
dụng web trên các máy chủ web riêng biệt, đó 
là các website được xây dựng dựa trên nền 
tảng Apache/PHP tapchikhkt.due.udn.vn, 
hoithao.due.udn.vn và kh.due.udn.vn và tại 
Trường Đại học Sư phạm – Đại học Đà Nẵng 
từ tháng 11/2013 cho các website 
scv.ued.udn.vn, conf.ued.udn.vn và 
jse.ued.udn.vn. Để kiểm tra khả năng thích 
ứng với các nền tảng lập trình khác nhau, các 
tác giả đã xây dựng, thử nghiệm kết hợp 
thành công một ứng dụng trên nền tảng .NET. 
Sơ đồ các ứng dụng thử nghiệm hệ thống như 
hình 3. Ứng dụng .NET gồm hai trang chính: 
Trang đăng nhập và trang hiển thị thông tin 
người dùng. Kịch bản thử nghiệm được mô tả 
như sau: Khi truy cập vào trang hiển thị thông 
tin người dùng, nếu chưa đăng nhập thì sẽ 
chuyển về trang đăng nhập. Nếu người dùng 
đã đăng nhập thì sẽ được chuyển tự động đến 
trang thông tin người dùng. Sau đó, người 
dùng có thể truy cập ở các ứng dụng còn lại 
mà không cần đăng nhập. 
Hệ thống ĐNML được xây dựng đã hoàn 
chỉnh các chức năng và giải quyết các vấn đề 
xác thực người dùng tập trung và ĐNML cho 
các ứng dụng. Ngoài ra, hệ thống còn đảm 
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 
32 
bảo được tính bảo mật trong quá trình truyền 
dữ liệu giữa ĐNML và các ứng dụng. 
Hệ thống ĐNML do các tác giả đề xuất về cơ 
bản đã giải quyết được các hạn chế mà các hệ 
thống ĐNML hiện có. Các dịch vụ do hệ 
thống ĐNML cung cấp có thể được sử dụng 
trên nhiều nền tảng khác nhau với các ngôn 
ngữ lập trình như .NET, Java, PHP, Việc 
triển khai hệ thống ĐNML cũng trở nên đơn 
giản bởi vì mọi thứ được thực hiện qua dịch 
vụ web. Nhà phát triển chỉ cần triệu gọi các 
dịch vụ của ĐNML trong ứng dụng của mình, 
việc còn lại do ĐNML thực hiện. 
Trong phạm vi bài viết này, tác giả đi sâu về 
giải pháp máy chủ ĐNML không cung cấp 
giao diện đăng nhập. Việc đăng nhập được 
thực hiện trên giao diện của các ứng dụng 
web sử dụng dịch vụ ĐNML. Tuy nhiên, hệ 
thống cũng cung cấp khả năng cấu hình để 
việc đăng nhập được thực hiện chỉ trên giao 
diện của máy chủ ĐNML bằng cách chuyển 
người dùng đến giao diện đăng nhập trên máy 
chủ ĐNML. Với cấu hình này, các ứng dụng 
web sử dụng dịch vụ sẽ không đọc được mật 
khẩu của người dùng. Trong mọi trường hợp, 
máy chủ ĐNML chỉ quản lý về việc xác thực 
người dùng. Các ứng dụng tự quản lý về việc 
phân quyền sử dụng hệ thống của mình. 
KẾT LUẬN 
Trong phạm vi nghiên cứu, tác giả đã xây 
dựng hệ thống ĐNML hoàn toàn độc lập với 
các hệ thống và các công bố trước đây bằng 
ngôn ngữ PHP và dịch vụ web. Hệ thống 
cung cấp các dịch vụ xác thực người dùng và 
ĐNML cho nhiều ứng dụng trong cùng một tổ 
chức. Tác giả cũng đã xây dựng thành công 
giải pháp dựa trên việc sử dụng dịch vụ web 
và chia sẻ cookie giữa các ứng dụng web khác 
nhau được xây dựng trên các nền tảng khác 
nhau, cũng như xây dựng thành công hệ thống 
quản lý ĐNML và triển khai ứng dụng thành 
công trên nhiều ứng dụng web tại Trường Đại 
học Kinh tế - Đại học Đà Nẵng từ tháng 
5/2013 và Trường Đại học Kinh tế - Đại học 
Đà Nẵng từ tháng 11/2013. Hệ thống hoạt 
động hoàn toàn độc lập với nền tảng công 
nghệ dung để xây dựng các ứng dụng. Tuy 
nhiên, tác giả chưa thực hiện nghiên cứu so 
sánh giữa hệ thống xây dựng được với các hệ 
thống khác về mặt hiệu năng. 
TÀI LIỆU THAM KHẢO 
1. Chris Waynforth, “Definition single sign-on 
(SSO)”, Information Security Magazine Online, 
<
ngle-sign-on> (truy cập ngày 11/2/2014). 
2. Hồ Văn Hương, Đào Thị Ngọc, “Ứng dụng hệ 
thống kiểm soát truy nhập mạng theo mô hình truy 
nhập một lần”, Tạp chí An toàn thông tin, 
< 
CatID=8ab90f49-a562-4157-a607-
d2474bf129a9&NewsID =1caffb79-e759-4855-
91fc-76840dfc 5424> (truy cập ngày 11/2/2014).. 
3. Trần Nghi Phú, “Cơ chế Single Sign On phần 
2”, < 
com/2013/06/portal-co-che-single-sign-on-
2.html> (truy cập ngày 11/2/2014).. 
4. “Dịch vụ và giải pháp chứng thực một lần 
Oracle Single Sign On (SSO)”, 
sso.html (truy cập ngày 11/2/2014). 
5. Oracle Corporation, Oracle Enterprise Single 
Sign-on Technical Guide, USA, June 2009. 
6. Mai Trần Trung Hiếu*, Trịnh Công Duy, Hồ 
Phan Hiếu, “Nghiên cứu kiến trúc và xây dựng hệ 
thống chứng thực tập trung cho Đại học Đà 
Nẵng”, Tạp chí Khoa học và Công nghệ Đại học 
Đà Nẵng, số 1(74).2014. 
7. Robert Daigneau, Service Design Patterns: 
Fundamental Design Solutions for SOAP/WSDL 
and RESTful Web Services, Pearson Education, 
2012. 
8. Võ Trung Hùng, Nguyễn Thị Quỳnh Lâm, 
“Nghiên cứu ứng dụng web service xây dựng hệ 
thống một cửa điện tử”, 
(truy cập ngày 11/03/2014). 
9. Hồng Phúc, Nguyễn Ngọc Tuấn, Công nghệ 
bảo mật, Nhà xuất bản Thống kê, 2005.
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 27 - 33 
33 
SUMMARY 
BUILDING A SYSTEM FOR SINGLE SIGN ON 
BASED ON THE WEB SERVICE 
Nguyen Tran Quoc Vinh1*, Nguyen Van Vuong2 
 1College of Education – Da Nang University, 
2College of Economy – Da Nang University 
There is an increasing trend around the world that one organization owns and operates several 
websites. However, it often leads to problem that a user needs to remember multiple login 
accounts and passwords to log into different sites within the same organization due to database 
existing independently from each other. Thus, one single sign-on to websites within the same 
organization is commonly requested. Within the scope of the article, the authors propose solutions 
and building system of single sign-on services based that provide services of user authentication 
based on concentrated user database. The system is built based on the exploitation of the 
independence of the foundation of web services, the ability to share cookies between browsers and 
web applications. The paper also conducts application testing for the sign-on system that has 
already been built. 
Key words: User authentication; single sign on; website; cookie; web service. 
Ngày nhận bài:30/5/2014; Ngày phản biện:12/6/2014; Ngày duyệt đăng: 25/8/2014 
Phản biện khoa học: TS. Huỳnh Công Pháp – Đại học Đà Nẵng
* Tel: 0914 780898, Email: ntquocvinh@gmail.com 

File đính kèm:

  • pdfnghien_cuu_dich_vu_web_de_xay_dung_he_thong_dang_nhap_mot_la.pdf