Ở Việt Nam, việc nghiên cứu phát triển và ứng dụng các sản phẩm phần mềm nguồn mở đã trở thành một nhu cầu cấp thiết vì nhiều lý do : Nhu cầu về phát triển Công nghệ Thông tin trong nư
Trang 1Luận án Xây dựng phần mềm báo điểm tuyển sinh
qua mạng
Trang 2CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI
1.1 Hướng Chọn Đề tài:
Phần mềm nguồn mở đã trở thành một trong những hướng đi chiến lược trong việc phát triển Công nghệ thông tin của nước ta hiện nay Đặc biệt với sự phát
triển bùng nổ của hệ thống mạng thông tin Internet, việc ứng dụng phần mềm
nguồn mở đã trở thành một cơ hội cho phép tiếp cận các công nghệ mới một cách
dễ dàng với chi phí hợp lý Ngày càng nhiều phần mềm nguồn mở được đánh giá cao và được đưa vào ứng dụng tại nhiều tổ chức nổi tiếng trên thế giới
Ở Việt Nam, việc nghiên cứu phát triển và ứng dụng các sản phẩm phần mềm nguồn mở đã trở thành một nhu cầu cấp thiết vì nhiều lý do :
Nhu cầu về phát triển Công nghệ Thông tin trong nước: trong hoàn cảnh Công nghệ Thông tin thế giới đã có một quãng thời gian phát triển khá lâu với rất nhiều thành tựu trong khi Công nghệ thông tin Việt Nam mới chỉ đạt được ở mức khiêm tốn, để có thể bắt kịp các nước phát triển, việc tiếp cận với hệ thống phần mềm nguồn mở là một hướng đi đúng đắn giúp Công nghệ thông tin Việt Nam có một nền tảng để hội nhập
Vấn đề bản quyền và chi phí: hiện nay, phần lớn các sản phẩm phần mềm thương mại đang được sử dụng ở Việt Nam đều không có đăng ký bản quyền Trong điều kiện tình hình sắp tới, khi các điều luật về bản quyền được thắt chặt sẽ làm cho việc sử dụng phần mềm thương mại sẽ không còn dễ dàng
Với phần mềm phần mềm nguồn mở, người sử dụng có thể yên tâm hoàn toàn vào hoạt động của phần mềm Do phần mềm nguồn mở có một cộng đồng sử dụng đông đảo luôn trao đổi thông tin với nhau thông qua Internet, các lỗ hổng trong phần mềm nguồn mở không ngừng được tìm và sửa chữa
Trang 3Hàng năm, số lượng thí sinh tham dự vào các kỳ thi đại học ngày càng tăng Bên cạnh đó, kể từ khi mạng Internet lần đầu tiên xuất hiện ở Việt Nam, đến nay Internet đã được phủ khắp ở hầu hết các tỉnh, thành phố trên phạm vi cả nước Xuất phát từ tình hình trên, chúng tôi đã chọn Đề tài: “Xây dựng phần mềm báo điểm tuyển sinh qua mạng” Đề tài của chúng tôi ứng dụng OpenLDAP,
Webserver Apache, PHP Chương trình hoạt động dựa trên nền hệ điều hành Linux (một hệ điều hành nguồn mở mà tên tuổi của nó đã trở nên quá quen thuộc với Công nghệ thông tin Việt Nam kể từ năm 2000) để tổ chức dữ liệu và thông báo điểm tuyển sinh một cách trực tuyến thông qua giao diện web
1.2.Giới thiệu các phần mềm sử dụng cho đề tài :
Các phần mềm sử dụng để thực hiện Đề tài “Xây dựng phần mềm báo điểm tuyển sinh qua mạng” đều là các phần mềm nguồn mở
OpenLDAP (http://www.openldap.org): sản phẩm phần mềm nguồn mở này được phát triển từ năm 1998 và được sử dụng bởi rất nhiều tổ chức trên thế giới OpenLDAP hoạt động trên nền giao thức TCP cho phép tổ chức lưu trữ thông tin người dùng một cách tối ưu theo cấu trúc cây phân cấp, giúp người dùng truy cập thông tin một cách nhanh chóng
- Apache (http://www.apache.org) : Web server được sử dụng rộng rãi nhất trên thế giới với độ bảo mật và tin cậy cao, cung cấp dịch vụ web, webhosting, hỗ trợ virtual host, dynamic module và các công nghệ Web tiên tiến Giống như Linux, PHP, MySQL, nó là một dự án nguồn mở, Apache được hỗ trợ rất tốt trên môi trường Unix (và cả trên môi trường hệ điều hành Windows®) ở đây PHP hoạt động với tư cách là một phần mở rộng của Apache và người ta gọi
là Module của Apache
- Ngôn ngữ lập trình PHP : là ngôn ngữ có tốc độ thực thi nhanh dễ sử dụng, cung cấp các tính năng mạnh mẽ để xây dựng ứng dụng web một cách nhanh
Trang 4chóng, ổn định và có thể chạy trên nhiều hệ điều hành khác nhau như WindowsNT/2000/2003, Unix, Linux với sự hỗ trợ của IIS và Apache PHP
hỗ trợ truy cập nhiều hệ CSDL khác nhau, luôn được cải tiến và cập nhật Bên cạnh đó, PHP có một cộng đồng sử dụng rất lớn và chúng ta có thể nhận được
sự hỗ trợ rất tốt
Trang 5CHƯƠNG 2 : GIỚI THIỆU VỀ LDAP
2.1 Định nghĩa :
2.1.1.Định nghĩa :
LDAP viết tắt từ cụm từ Lightweight Directory Access Protocol có nghĩa là giao thức truy cập thư mục Nó là một giao thức cho việc truy cập các dịch vụ thư mục, đặc biệt là dịch vụ thư mục tương thích chuẩn X500 LDAP có thể chạy trên mạng dựa trên giao thức TCP/IP hoặc các mạng khác có hỗ trợ tầng vận chuyển (transport layer) Kiến trúc của LDAP được nói rõ ở RFC2251 và RFD3377 bao gồm các đặc tính kỷ thuật của nó LDAP v3 được xem là chuẩn Internet Phiên bản thứ ba này hỗ trợ đa ngôn ngữ (Unicode)
có thể truy cập đến các dịch vụ X.500 có sẵn
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
1.4 What about X.500?
Trang 6Một tiện ích độc lập của LDAP có tên là slap được xem như là một server thư mục X.500 Có nghĩa là nó không thự thi giao thức DAP của X.500 Với tư cách là một directory server, slap chỉ thực thi một tập con của mô hình X.500
2.2 Cách thức tổ chức dữ liệu
2.2.1 Các lọai dữ liệu được lưu trữ trong thư mục :
Mô hình thông tin LDAP dựa vào các mục Mỗi một mục là một tập hợp các thuộc tính có một tên riêng biệt là DN (distinguished name)
DN là tên xác định tất cả các mục chứa đựng tạo thành đường đi từ đầu cây đến một nút (node) lá nào đó Mỗi một thuộc tính của một mục có một kiểu và một hoặc nhiều giá trị tương ứng
Kiểu thường là một chuỗi gợi nhớ ví dụ như “cn” thuộc kiểu common name (tên riêng), hoặc là “mail” thuộc kiểu email address Ví dụ một thuộc tính cn có thể có giá trị Bab Jensen Thuộc tính mail có thể có giá trị babs@example.com Một thuộc tính jpegPhoto chứa một hình ảnh dạng jpeg (hay dữ liệu dạng nhị phân nói chung)
2.2.2 Cách thức tổ chức dữ liệu:
Cây thư mục LDAP có cấu trúc dạng cây phân cấp Cấu trúc này nói lên ranh giới địa lý và tổ chức (để dễ quản lý, thực hiện theo dạng phân cách) Các mục tượng trưng cho quốc gia thường đứng ở đỉnh cây Dưới đó là các mục tượng trưng cho bang và các tổ chức nhà nước, bậc dưới nữa là các mục dành cho đơn vị và tổ chức tiếp theo là người, máy in, tài liệu … Hình 2.1 là ví dụ
về cây thư mục LDAP sử dụng cách đặt tên truyền thống
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
Trang 7VD : Về nước Việt Nam
Cây thư mục cũng có thể được sắp xếp dựa trên cấu trúc tên miền ở mạng Internet Phương pháp đặt tên này đang được sử dụng phổ biến bởi vì có cho phép các dịch vụ thư mục được định vị trí theo phương pháp tên miền DNS Hình 2.2 là một ví dụ về cây thư mục LDAP sử dụng cách đặt tên theo tên miền
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
Trang 8Ngoài ra, LDAP còn cho phép kiểm soát các thuộc tính nào cần thiết có mặt trong một mục bằng cách sử dụng một thuộc tính đặc biệt có tên là lớp đối tượng (ObjectClass) Giá trị của thuộc tính lớp đối tượng sẽ quyết định các qui tắc của lược đồ mà mục đó cần phải tuân theo (mở rộng ra có thể định nghĩa lớp đối tượng riêng)
*
2.2.3 Cách tham chiếu của thông tin:
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
Trang 9Một mục được tham chiếu bằng tên phân biệt của nó (DN) và tổ chức của cây tương ứng Tên này được tạo ra bằng cách ghép tên của mục
(hay còn gọi là tên phân biệt quan hệ hoặc RDN) với tên mục ở cấp trên nó
Ví dụ: trong hình 2.2 tên mục Barbara Jensen có tên RDN là uid=babs và DN
là uid=babs, ou=people, dc= example, dc=com
2.2.4 Cách truy cập thông tin :
LDAP định nghĩa các thao tác cho việc truy vấn và cập nhật thư mục Một
số thao tác được dùng để thêm và xoá một mục từ thư mục, để thay đổi một mục có sẵn, và thay đổi tên của một mục Tuy nhiên, phần lớn thời gian LDAP được sử dụng để tìm kiếm thông tin trong thư mục Thao tác tìm kiếm của LDAP cho phép tìm kiếm các mục mà thoả điều kiện của công cụ lọc trong một phần của thư mục Thông tin có thể được yêu cầu từ mỗi mục mà thoả điều kiện
Ví dụ, bạn có thể muốn tìm người có tên Babara Jensen trên một cây thư mục con bắt đầu từ dc=example,dc=com trở xuống để lấy thông tin địa chỉ email của từng mục mà thoả điều kiện LDAP cho phép chúng ta làm việc này một cách dễ dàng Hoặc nếu bạn muốn tìm kiếm các tổ chức mà tên nó có cụm
từ Acme và phải có số fax từ các mục dưới mục st=Caliornia, c=US LDAP cũng cho phép bạn làm được điều này
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
Trang 102.2.5 Cách bảo vệ Thông tin trước sự truy cập trái phép :
Một vài dịch vụ thư mục không có cơ chế bảo vệ thông tin, nó cho phép mọi người có thể truy cập và xem toàn bộ thông tin LDAP cung cấp nhiều cơ chế khác nhau để xác thực và chứng minh danh tính của một người sử dụng khi họ truy cập vào thư mục chủ Do đó nó cho phép bảo vệ thông tin mà chúng ta lưu trên máy chủ LDAP cũng hỗ trợ các công cụ cho phép đảm bảo tính cá nhân
2.3 Giới thiệu về SLAPD :
2.3.1 Khái niệm về slapd :
Slapd là một LDAP directory server mà có thể chạy trên nhiều Platform khác nhau Bạn có thể dùng nó để tạo một directory server riêng của bạn directory của bạn có thể chứa được nhiều dữ liệu mà bạn muốn lưu Bạn có thể kết nối đến các dịch vụ LDAP directory khác hay là chạy nó một cách độc lập
2.3.2 Đặc tính và chức năng của tiến trình Slapd :
mã hoá sau: DIGEST-MD5, EXTERNAL, and GSSAPI
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
1.2 What is LDAP?
1.6 What is slapd and what can it do ?
Trang 11 Tính bảo mật của tầng vận chuyển : Slapd cung cấp sự bảo vệ riêng tư và toàn vẹn bằng cách sử dụng TLS ( hoặc SSL) TLS được thực thi bằng cách sử dụng phần mềm OpenSSL
Tính toàn cầu: Slapd hỗ trợ Unicode và các thể ngôn ngữ
Cho phép lựa chọn các module cơ sở dữ liệu: BDB, LDBM, SHELL, PASSWD
Nhiều cơ sở dữ liệu mẫu : Slapd có thể được cấu hình để cung cấp nhiều loại
cơ sở dữ liệu, có nghĩa là một Slapd server có thể phản hồi các yêu cầu của nhiều phần của cây thư mục LDAP bằng cách sử dụng các module cơ sở dữ liệu
Các module API chung: Slapd cho phép bạn viết các module riêng của bạn một cách dễ dàng Slapd gồm có 2 phần riêng biệt: phần mặt trước dùng để
xử lý các liên lạc giao thức với LDAP client; và phần module có chức năng
xử lý các thao tác trên cơ sở dữ liệu Bởi vì 2 phần này được viết bằng các hàm API, cho nên bạn có thể viết các module riêng cơ sở dữ liệu có thể lập trình lại được Các module này cho phép bạn trưng bày các nguồn dữ liệu ngoài bằng cách sử dụng các ngôn ngữ lập trình thông dụng như Perl, Shell, SQL, và TCL
2.3.2.2 Chức năng được cung cấp bởi tiến trình Slapd :
Kiểm soát topology: Slapd chỉ cho phép chúng ta giới hạn sự truy cập server dựa vào cấu trúc của mạng Đặc tính được thực thi bằng cách sử dụng trình bao bọc TCP
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
1.6 What is slapd and what can it do ?
Trang 12 Kiểm soát truy cập : Slapd cung cấp chức năng kiểm soát truy cập chặt chẽ
Nó cho phép bạn kiểm soát các truy cập thông tin vào cơ sở dữ liệu của bạn Ngoài ra bạn còn có thể kiểm soát việc truy cập vào các mục dựa vào thông tin đăng nhập LDAP, địa chỉ IP, tên miền và các tiêu chuẩn khác Slapd hỗ trợ kiểm soát truy cập tĩnh và động
2.3.3.Cách cấu hình file slapd.conf
Các thông số chạy của slapd thường được lấy từ file slapd.conf Và file này thường được lưu trữ tại /usr/local/etc/openldap
2.3.3.1.Dạng thức của file cấu hình
File slapd.conf thường chứa thông tin về 3 loại cấu hình: toàn cục, chuyên phụ trợ và chuyên về CSDL Thông tin về toàn cục được định nghĩa trước, tiếp theo là phụ trợ và CSDL Các định nghĩa về toàn cục có thể được định nghĩa lại trong phần định nghĩa của phụ trợ và CSDL và các định nghĩa về phụ trợ có thể được định nghĩa lại trong phần định nghĩa của CSDL
Dòng trống và câu bắt đầu bằng ‘#’ sẽ không được biên dịch Nếu một dòng bắt đầu bằng khoảng trắng thì nó được xem là dòng kế tiếp của dòng trước đó Dạng thức chung của file slapd.conf là:
# global configuration directives
< global config directives
*
*
Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
1 Introduction to OpenLDAP Directory Services
1.6 What is slapd and what can it do ?
6 The slapd Configuration File
6.1 Configuration File Format
Trang 13<database -specific directives directives >
#second database definition & config directives
database <TypeA>
<database -specific directives >
#subsequent backend & database definitions &config directives
………
Một chỉ thị về cấu hình có thể có nhiều tham số Các tham số được cách nhau bởi khoảng trắng Nếu một tham số có khoảng trắng thì nó phải được đặt trong dấu ngoặc đôi “” ví dụ: “biến a” Nếu một tham số có chứa dấu ngoặc đôi hoặc là dấu ‘\’, thì trước hai ký tự này phải có thêm dấu ‘\’
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
6 The slapd Configuration File
6.1 Configuration File Format
Trang 14Phần mềm mà bạn tải xuống có kèm theo một ví dụ mẫu về cấu hình và được cài đặt ở thư mục /usr/local/etc/openldap Và một số các định nghĩa về cây thư mục (có nghĩa là định nghĩa về các loại thuộc tính và các lớp đối
/usr/local/etc/openldap/schema
2.3.3.2 Các chỉ thị về cấu hình
Phần này giới thiệu chi tiết các chỉ thị cấu hình thường dùng Muốn biết bảng chỉ thị chi tiết xem trong tài liệu hướng dẫn về slapd.conf Phần này chia chỉ thị về cấu hình thành 3 loại toàn cục, phụ trợ và dữ liệu Kế đó, mô tả từng chỉ thị một và các giá trị mặc định của nó (nếu có) và ví dụ về cách sử dụng
Chỉ thị toàn cục
Các chỉ thị được đề cập trong phần này được áp dụng cho tất cả các kiểu backends và database trừ khi có những có các định nghĩa chi tiết khác được nạp chồng lên Các định nghĩa được để trong cặp ngoặc nhọn <> cần được thay thế bằng tham số thực
Chỉ thị cấp quyền đăng nhập
access to <what> [by <who> <accesslevel > <control>] +
Chỉ thị này sẽ cấp quyền truy cập (được xác định bởi < accesslevel >) cho một bộ các mục hoặc các thuộc tính (được xác định bởi <what>)bởi một hoặc nhiều người yêu cầu (được xác định bởi <who>)
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
6 The slapd Configuration File
6.1 Configuration File Format
6.2 Configuration File Directives
6.2.1Global Directives
6.2.1.1 access to<what>[by<who><accesslevel><control>]
Trang 15Xem phần Kiểm soát truy cập trong chương này để biết thêm chi tiết về cách sử dụng cơ bản
Lưu ý: Nếu không có chỉ thị về quyền truy cập access, thì cơ chế quyền
truy cập mặc định sẽ được sử dụng có cấu trúc sau: access to * by* read
Chỉ thị mặc định này sẽ cho phép cả những người sử dụng xác định và vô danh được quyền truy cập
attributetype: Chỉ thị loại thuộc tính
Attributetype <RFC2252 Attribute Type Desciption>
Chỉ thị này định nghĩa một loại thuộc tính Để biết cách sử dụng của chỉ thị này hãy xem chương về Các đặc tính của giản đồ (Schema Specification)
Chỉ thị về thời gian nhàn rỗi
idletimeout <integer>
Số lượng thời gian tính bằng giây nhàn rỗi của một máy khách Nếu hết thời gian này nó sẽ bị ngắt kết nối Giá trị mặc định của nó là 0, điều này đồng nghĩa là thuộc tính này không có tác dụng (hay là bị vô hiệu hóa)
include<filename> : chỉ thị về thêm file
Chỉ thị này báo hiệu cho Slapd biết là nó phải đọc file các thông tin về cấu hình ở file được thêm trước khi tiếp tục xử lý đến dòng lệnh kế tiếp
Trang 16File được kèm thêm phải có dạng thức chuẩn giống như file cấu hình của slapd
Lưu ý: Bạn nên cẩn trọng khi sử dụng chỉ thị này bởi vì không nó khó kiểm soát
loglevel<integer>
Chỉ thị này chỉ rõ mức độ mà các câu lệnh debug và các thống kê của quá trình vận hành chương trình được ghi lại trong hệ thống Để chỉ thị này có tác dụng bạn phải cấu hình OpenLDAP bằng lệnh enalbe-debug (đây là giá trị mặc định) để chỉ thị này có tác dụng Cấp độ log là có thể tổng lại được (có nghĩa là ta có thể tổng hai cấp độ lại thành một) Để biết một cấp độ tương ứng với một số nào thì ta có thể dùng lệnh đó với tham số dấu hỏi (?) hoặc có thể tham khảo bảng sau
-1 Tất cả các lỗi
1 Theo dõi việc gọi hàm
2 Debug việc xử lý các gói (packet)
4 Theo dõi lỗi lớn
8 Kiểm soát kết nối
16 In ra các gói đã gởi và nhận
32 Quá trình xử lý tìm kiếm và lọc thông tin
64 Quá trình xử lý file cấu hình
128 Quá trình xử lý bảng danh sách truy cập
256 thống kê kết nối/vận hành/kết quả
512 Thống kê các mục đã gởi
1024 In các giao tiếp với Shell của phần phụ trợ
2048 In mục gây ra lỗi Bảng 2.1 : Bảng các cấp độ của sửa lỗi (debug)
*
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
6.2.1.5 loglevel<integer>
Trang 17Ví dụ:
Loglevel -1 Lệnh này sẽ ghi lại thông tin của tất cả các lỗi
Giá trị mặc định:
Loglevel 256
objectclass<mô tả về lớp tối tượng> :
objectclass<RFC2252 Obiect Class Description>
Chỉ thị này định nghĩa một lớp đối tượng
referral <url>
Chỉ thị này xác định nơi chuyển tiếp khi mà slapd tìm lấy CSDL cục bộ
để xử lý một yêu cầu Các máy khách LDAP thông minh có thể lập lại yêu cầu của nó trên máy chủ, nhưng lưu ý rằng tất cả các máy clients này chỉ biết xử lý các địa chỉ URL đơn giản
Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
6.2.1.6, objectclass<RFC2252 Object Class Description>
6.2.1.7 referral <url>
6.2.1.8, sizelimit<integer>
Trang 18 timelimit<số nguyên>
timelimit<integer>
Giá trị mặc định: timelimit 3600 Chỉ thị này xác định thời gian tính bằng giây mà slapd cần để phản hồi lại một yêu cầu tìm kiếm Nếu một yêu cầu không được thực thi trong khoảng thời gian này, thì sẽ hiện lên thông báo lỗi là đã vượt quá thời gian quy định
Trang 19Loại Mô tả
dnssrv Phụ trợ theo kiểu DNS server
minitor Phụ trợ theo dõi
passwd Cung cấp quyền truy cập chỉ đọc cho passwd
Perl Phụ trợ có thể lập trình theo ngôn ngữ Perl
Chỉ thị này có tác dụng đánh dấu sự khai báo về một thực thể CSDL
<type> phải là một trong những loại có trong bảng CSDL phụ trợ
Trang 20 readonly {on | off}
Chỉ thị này có tác dụng khai báo CSDL ở chế độ chỉ đọc “read-only” Nếu CSDL đang ở chế độ này thì mội thao tác chỉnh sửa dữ liệu đều không thực hiện được
[bindmethod={simple | kerberos| sasl}]
[bindmethod={kiểu đơn giản | kiểu Kerberos| kiểu sasl}]
* Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục
6.2.3.2readonly {on | off}
Trang 21Chỉ thị này xác định một bản sao cho CSDL này Tham số host=
xác định một máy chủ và cổng (tham số này là tùy chọn) mà một trường hợp (instance) của máy con slapd có thể được tìm thấy ở đó Giá trị của
<máy chủ> (<hostname>)có thể là tên domain hoặc là địa chỉ IP Nếu xác định rõ cổng (<port>) thì cổng chuẩn của LDAP là cổng số 389 Tham số binddn= cho biết DN để kết nối khi cập nhật một máy con
slapd Nó phải là một DN có quyền đọc/ghi lên CSDL của máy con slapd
và thường có tên là rootdn trong file config của máy con Tên này phải trùng khớp với chỉ thị updatedn trong file config của máy con Bởi vì tên
DN thường có khoảng trắng nên chúng thường đặt trong cặp ngoặc đôi
(“binddn=<DN>”)
Tham số phương thức kết nối bindmethod là một trong các kiểu sau:
simple, kiểu kerberos và kiểu sasl Giá trị của tham số này tùy thuộc vào kiểu chứng thực mật mã nào trong ba kiểu sau: kiểu chứng thực đơn giản hay kiểu chứng thực kerberos hay kiểu chứng thực SASL được sử dụng
để kết nối đến máy con slapd
Không nên sử dụng kiểu chứng thực đơn giản trừ khi các chính sách
về bảo mật riêng tư và tính nhất quán( ví dụ như TLS VÀ IPSEC ) được
sử dụng Chế độ chứng thực đơn giản đòi hỏi phải khai báo tham số
binddn và credentials
Kiểu chứng thực Kerberos, đặc biệt là KERBEROS_V4 bà GSSAPI,
không tương thích với cơ chế chứng thực SASL Kiểu chứng thực
Kerberos đòi hỏi phải khai báo tham số binddn và tham số srvtab
Trang 22Nên sử dụng kiểu chứng thực SASL Kiểu chứng thực yêu cầu xác
định một cơ chế thực thông qua tham số mech Dựa vào cơ chế này, sự
chứng thực và sự uỷ quyền sẽ được xác định bằng cách sử dụng hai tham
số authcid và credentials Tham số authzid có thể được dùng để xác định
rootdn<dn>
Chỉ thị này xác định tên riêng biệt DN mà không bị giới hạn về quyền truy cập hoặc là các hạn chế về quản trị cho những thao tác trên CSDL này DN không nhất thiết phải tham chiếu đến một mục trong CSDL này hoặc ngay cả trong thư mục DN có thể tham chiếu đến một định danh SASL
Ví dụ theo kiểu mục:
rootdn “cn=Manager, dc=example, dc=com”
6.2.3.3 replica
Trang 23rootpw {SSHA} ZKKuqbEKJfKSXhUbHG3fG8MDn9j1v4QN
Đó là mã hoá của mật mã secret khi ta dùng lệnh
Ví dụ: suffix “dc=example, dc=com”
Các truy vấn có hậu tố là “dc=example, dc=com” sẽ được chuyển cho phụ trợ loại này (phụ trợ CSDL loại thông thường)
Trang 24Chỉ thị này chỉ được thực hiện ở máy slapd con Nó xác định tên DN
mà cho phép tạo ra những thay đối với các bản sao
Ví dụ theo kiểu mục:
updatedn “cn=Update Daemon, dc=example, dc=com”
Ví dụ theo kiểu SASL
updateref <URL>
Chỉ thị này chỉ thực hiện được ở máy slapd con Nó xác định địa chỉ URL để trả về cho các máy khách mà đã gởi các yêu cầu cập nhật lên các bản sao