Tạo các file lược đồ tùy chỉnh (Custom Schema) cho slapd:

Một phần của tài liệu Đồ án tin học nghiên cứu về giao thức LDAP (Trang 71 - 73)

Việc tạo một file Custom Schema cho OpenLDAP là một quy trình đơn giản:

• Chỉ định một UID duy nhất cho tất cả các loại thuộc tính và cả lớp đối tượng. • Tạo một file lược đồ và đưa nĩ vào slapd.conf

Chương 2 đã mơ tả cách để được một số private enterprise từ IANA (xem form ở http://www.iana.org/cgi-bin/enterprise.pl và RFC 3383). Khi tạo ra các thuộc tính mới hoặc các lớp đối tượng, đĩ là một ý tưởng tốt để sử dụng một OID được đảm bảo là duy nhất, schema cĩ thể được dùng hoặc khơng được dùng bên ngồi của tổ chức (organization) của bạn. Cách tốt nhất để đảm bảo rằng OID là duy nhất là thu được một số private enterprise và đặt tất cả các định nghĩa theo con số đĩ.

Ví dụ: giả sử rằng ứng dụng khách hàng LDAP yêu cầu một lớp đối tượng là person. Lớp đối tượng mới này sẽ chứa tất cả các thuộc tính sở hữu bởi các đối tượng person, bổ sung các thuộc tính UserPassword và mail.

Để tạo đối tượng mới này, ta cấp phát OID arc 1.3.6.1.4.1.7165.1.1.1 cho các lớp đối tượng mới:

iso (1) org (3) dod (6) internet (1) private (4) enterprise (1) SAMBA.org (7165) plainjoe.org (1)

O'Reilly LDAP Book(1)

Số private enterprise 7165 được cấp phát bởi IANA. Arc 7165.1 được phân bổ cho domain plainjoe.org, và 7165.1.1 được thiết lập cho cuốn sách này. Ta khơng thể làm gì với các con số ở trên 7165.1 trên cây, nhưng ta cĩ thể chỉ định các số ở dưới sao cho phù hợp. Ta chọn 7165.1.1.1 cho các lớp đối tượng LDAP đã được tạo, và 7165.1.1.2 cho các thuộc tính mới. Ta cũng cĩ thể cho các đối tượng mới trực thuộc plainjoe.org, nhưng cĩ thể cĩ vẫn đề nếu muốn tạo các loại đối tượng khác.

SAMBA.org (7165) plainjoe.org (1)

O'Reilly LDAP Book(1) |-- objectclasses (1) |-- attributeTypes (2)

Bây giờ ta tạo đối tượng mới là plainjoePerson. Thêm các định nghĩa sau vào file lược đồ tùy định (custom schema) tên plainjoe.schema; ta sẽ dùng file này cho tất cả đối tượng tùy định mà mình định nghĩa. ## objectclass definition for 'plainjoePerson' depends on core.schema.

MUST (userPassword $ mail) )

Các thuộc tính mới cĩ thể được định nghĩa tương tự hoặc định nghĩa dựa trên các thuộc tính cĩ sẵn. Ví dụ, ta cĩ thể tạo thuộc tính plainjoePath để lưu trữ bằng cách định nghĩa trong

plainjoe.schema như sau:

## Store a case-sensitive path to a directory.

attributetype( 1.3.6.1.4.1.7165.1.1.2.1 NAME 'plainjoePath' DESC 'A directory on disk'

SUBSTR caseExactIA5SubstringsMatch EQUALITY caseExactIA5Match

SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

Cuối cùng, cần phải thêm dịng include trong slapd.conf

# /usr/local/etc/openldap/slapd.conf

# Global section

## Include the minimum schema required.

include /usr/local/etc/openldap/schema/core.schema

## **NEW**

## Include support for special plainjoe objects.

Một phần của tài liệu Đồ án tin học nghiên cứu về giao thức LDAP (Trang 71 - 73)

Tải bản đầy đủ (DOCX)

(188 trang)
w