Các thao tác th m tra (LDAP Interrogation)

Một phần của tài liệu Mini admanger (Trang 35)

Hai thao tác th m tra (LDAP Interrogation) cho phép client có th tìm và nh n l i thông tin t th m c. nh ng nghi th c LDAP không có thao tác đ c m t entry th m c,do đó khi đó chúng ta mu n đ c m t entry thì ta ph i th c hi n tìm ki m và d ng tìm ki m ngay khi nh n đ c k t qu đ u tiên. Thao tác tìm ki m (LDAP search operation) yêu c u 8 tham s :

Tham s đ u tiên là đ i t ng c s mà các thao tác tìm ki m th c hi n trên đây, tham s này là DN ch đ n đnh c a cây mà chúng ta mu n tìm.

Tham s th hai là ph m vi cho vi c tìm ki m, chúng ta có 3 ph m vi th c hi n tìm

ki m:

Ph m vi “base” ch ra r ng b n mu n tìm ngay t i đ i t ng c s

Ph m vi “onelevel” thao tác tìm ki m di n ra t i c p d i (con tr c ti p c a đ i t ngc s )

Ph m vi “subtree” thao tác này th c hi n tìm h t trên cây mà đ i t ng c s là đnh.

Sau đây là các hình minh ho các tr ng h p tìm ki m t ng ng v i các ph m vi trên

search base= “ou=people, dc=abc, dc=com search scope =base

Ch ng 3: Gi i thi u v LDAP

search base= “ou=people, dc=abc, dc=com search scope = onelevel

Hình 3 - 13 thao tác tìm ki m v i ph m vi onelevel

search base= “ou=people, dc=abc, dc=com search scope = subtree

Hình 3 - 14 thao tác tìm ki m v i ph m vi subtree

Tham s th ba derefAliases , cho server bi t r ng li u bí danh aliases có b b qua

hay không tham kh o đ n khi th c hi n tìm ki m, có 4 giá tr mà derefAliases có th nh n đ c:

nerverDerefAliases - ngh a là th c hi n tìm ki m và không b qua bí danh (aliases) trong lúc th c hi n tìm ki m và áp d ng v i c đ i t ng c s .

derefInsearching - b qua các aliases trong trong các entry c p d i c a đ i t ng c s , và không quan tâm đ n thu c tính c a đ i t ng c s .

derefFindingBaseObject - ng c l i v i giá tr thu c tính trên v i giá tr này thì vi c tìm ki m s b qua các aliases c a đ i t ng c s , và không quan tâm đ n thu c tính c a các entry th p h n đ i t ng c s .

derfAlways - b qua c hai n u vi c tìm ki m th y đ i t ng c s hay là các entry c p th p là các entry aliases.

dc=abc, dc=com

ou= people dc=abc, dc=com

Ch ng 3: Gi i thi u v LDAP

Tham s th b n cho server bi t có t i đa bao nhiêu entry k t qu đ c tr v , ví d nh n u client cho bi t tham s này là 100, nh ng server l i tìm đ c 500 entry tho mãn, nh ng lúc này server s g i 100 entry cho cilent, n u client đ t tham s này là zero thì client nh n đ c t t c các k t qu c a vi c dò tìm(chú ý tham s này có th đ c áp đ t b i server và nh ng ng i dùng bình th ng không th thay đ i đ c).

Tham s th n m qui đ nh th i gian t i đa cho vi c th c hi n tìm ki m, khi th i gian tìm ki m đã v t quá th i gian t i đa thì server s g i cho client

LDAP_TIMELIMIT_EXCEEDED, n u tham s này đ c thi t l p là zero thì ngh a là không có gi i h n th i gian cho vi c tìm ki m, c ng nh tham s th b n tham s này có th do server thi t l p m t gi i h n và ch có nh ng ng i dùng có đ c quy n m i có th thay đ i đ c.

Tham s th sáu attrOnly – là m t tham s ki u bool, n u đ c thi t l p là true, thì server ch g i các ki u thu c tính c a entry cho client, nh ng sever không g i giá tr c a các thu c tính đi, đi u này là c n thi t n u nh client ch quan tâm đ n các ki u thu c tính ch a trong

Tham s th b y là b l c tìm ki m(search filter) đây là m t bi u th c mô t các lo i entry s đ c gi l i. Trong LDAP ch c n ng tìm ki m v i bi u th c l c nh v y là r t linh đ ng, tham kh o chi ti t các lo i b l c v i ph n ti p theo.

Tham s th tám và đây là tham s cu i cùng đây là m t danh sách các thu c tính đ c gi l i v i m i entry. B n có th ch đnh các thu c tính đ c gi l i.

Ch ng 3: Gi i thi u v LDAP

Các ki u b l c LDAP áp d ng cho vi c tìm ki m

Filter Type Format Example Matches

Equality (attr=value) sn=jensen Tìm ki m các entry

có surname là jensen Substring (attr=[leading] *[any]*[trail in g]) (sn=*jensen *) (sn=jensen* ) (sn=*jensen ) (sn=je*nse* n)

Surname ch a chu i con “jensen” Surname b t đ u là chu i jensen Surname k t thúc v i chu i “jensen” Surname b t đ u v i chu i “je” ch a chu i”nse” và

k t thúc là chu i “n”

Approximate (attr~=value) (attr=~jensen) Surname x p x nh là

chu i “jensen” ch ng h n nh

“jensin” hay “jenson”

Greater than or equal to

(attr>=value) (sn>=jensen) Surname

>=”jensen”, b l c này áp d ng cho các thu c tính là ki u có giá tr

Less than or equal to

(attr<=value) (sn<=jensen) Surname >=”jensen”

Presence (attr=*) (sn=*) T t c các entry có thu c

tính atrr AND (&(filter1)(filte r2)…) (&(sn=jensen)(ob j ectclass=person)) Các entry là objectclass person và surname=jensen OR (|(filter1)(filter 2)…) (|(sn~=jensen)(tel ephonenumber=8 9 44570)) Các entry cósurname x p s nh chu i “jensen” hay có

s đi n tho i là 8944570

NOT (!(filter)) (!(age>=22)) Các entry có thu c tính

Ch ng 3: Gi i thi u v LDAP

Ch có LDAP version 3 h tr cho b l c này: đây là m t b l c thi t k cho các thao tác tìm ki m phát tri n trong t ng lai. B l c này mang tính d dàng m r ng c a LDAP khi các thao tác tìm ki m phát tri n. M t ví d cho th y s h u d ng c a đ c tính này là:

Cú pháp c a b l c m r ng này khá ph c t p, g m có 5 ph n và 3 trong đó là các tu ch n, nh ng ph n đó là:

Tên c a thu c tính.

Chu i tu ch n : DN ch ra r ng các thu c tính hình thành nên DN c a entry đ c xem nh là m t thu c tính c a entry trong su t th i gian th c hi n tìm ki m.

Tu ch n d u : đi sau đó là qui t c th c hi n đ so sánh n u đ tr ng thì m t qui t c m c đnh thích h p s đ c l a ch n cho vi c tìm ki m trên thu c tính, n u thu c tính tên b b sót thì tu ch n này bu c ph i có m t.

Chu i “:=”.

M t giá tr dùng đ so sánh.

Ví d : attr [“:dn”] [“:” matchingrule] “:” value

Ví d VB.NET code: dirSearch.Filter = "(&(objectCategory=user)(cn=*" + UserName + "*))"

Các kí t đ c bi t

N u khi chúng ta th c hi n tìm ki m mà m t s giá tr thu c tính ch a m t trong 5 kí t đ c bi t trong b ng bên d i:

B ng các kí t tránh s d ng trong b l c tìm ki m

Kí t Giá tr h 10 Giá tr h 16 Escap Sequence * (d u hoa th ) 42 0x2A \2A ( (m ngo c) 40 0x28 \28 ) (đóng ngo c) 41 0x29 \29 \ (x t ng c) 92 0x5C \5c

NULL 0 0x00 \00

th c hi n tìm ki m m t thu c tính cn=star* thì chúng ta s s d ng b l c là (cn=star\2A) đây \2A thay th cho kí t *.

Ch ng 3: Gi i thi u v LDAP

Một phần của tài liệu Mini admanger (Trang 35)