AddEdit
LEGG Til drift setter inn en ny oppføring i katalog-server database. Hvis den anerkjente navn i legg til forespørsel allerede finnes i katalogen, vil serveren ikke vil legge til en duplikatoppføringen men vil sette resultatet koden i boksen legg til resultat til desimal 68, «entryAlreadyExists».
- LDAP-kompatible servere vil aldri problem med dereference den anerkjente navn som overføres i den legg til forespørsel når du prøver å finne oppføringen, som er unike navn er aldri de-aliased.,
- LDAP-kompatible servere vil sikre at de unike navn, og alle attributter som er i overensstemmelse å navngi standarder.
- oppføringen blir lagt må ikke eksisterer, og den nærmeste overordnede må finnes.
I eksempelet ovenfor, uid=user,ou=people,dc=example,dc=com
må ikke eksisterer, og ou=people,dc=example,dc=com
må finnes.
Bind (godkjenne)Edit
Når en LDAP-økten er opprettet, det er, når en LDAP-klienten kobler til serveren, autentisering state of the sessionis satt til anonym. Den BINDER drift etablerer godkjenning staten for en økt.,
Enkel BINDE og SASL VANLIG kan sende brukerens NAVN og passord i klartekst, så tilkoblinger utnytte enten Enkel eller SASL PLAINshould bli kryptert ved hjelp av Transport Layer Security (TLS). Serveren vanligvis sjekker passordet mot userPassword
attributt i navn-oppføring. Anonym BIND (med tom DN og passord) nullstiller den forbindelse til anonym staten.
SASL (Simple Authentication and Security Layer) BINDER gir godkjenning tjenester gjennom awide rekke mekanismer, som f.eks. Kerberos-eller klient sertifikat sendt withTLS.,
BINDE stiller også LDAP-protokollen versjonen ved å sende en versjon nummer i form av et heltall. Hvis klienten ber om en versjon som serveren ikke støtter,server, må du angi resultatet koden i BIND svar til koden for en protokoll feil. Normalt kunder bør bruke LDAPv3, som er thedefault i protokollen, men ikke alltid i LDAP-biblioteker.
BINDE hadde for å være den første operasjonen i en økt i LDAPv2, men er ikke nødvendig som av LDAPv3., I LDAPv3, eachsuccessful BIND-forespørselen endringer godkjenning state of the session og hvert mislykket BIND-forespørselen tilbakestiller godkjenning stateof økten.
DeleteEdit
for Å slette en oppføring, en LDAP-klient sender en riktig dannet slett forespørsel til serveren.,
- En slette anmodningen må inneholde unikt navn på oppføringen slettes
- Be om kontrollene kan også være knyttet til den slette forespørsel
- Servere ikke problem med dereference aliaser ved behandling av en slette forespørsel
- Bare blad oppføringer (oppføringer uten underordnede) kan bli slettet ved en slett forespørsel., Noen servere støtter en operativ attributt
hasSubordinates
som har en verdi som indikerer om en oppføring har noen underordnede oppføringer, og noen servere støtter en operativ attributtnumSubordinates
angi antall oppføringer for underordnede oppføringen inneholdernumSubordinates
attributtet. - Noen servere støtte undertreet slett forespørsel kontroll tillater sletting av DN, og alle objekter som er underlagt DN, underlagt tilgang til kontrollene., Slett forespørsler er avhengig av tilgang til kontrollene, som er, om en forbindelse med en gitt godkjenning staten vil være tillatt å slette en bestemt oppføring reguleres av server-spesifikke tilgang kontrollmekanismer.
Søk og CompareEdit
Søk-drift er brukt til å både søke etter og lese oppføringer. Parametrene er:
baseObject navnet på basen objekt oppføring (eller muligens roten) i forhold til der søket skal utføres. omfanget Hvilke elementer under baseObject til å søke., Dette kan væreBaseObject
(søk kun navngitt oppføring, som vanligvis brukes for å lese en oppføring),singleLevel
(oppføringer umiddelbart nedenfor base DN), ellerwholeSubtree
(hele undertreet starter på bunnen DN). filter Kriterier til bruk i å velge elementer i omfang., For eksempel, filter(&(objectClass=person)(|(givenName=John)(mail=john*)))
vil velge «personer» (elementer av objectClassperson
) der de samsvarende regler forgivenName
ogmail
avgjøre hvorvidt verdiene for disse attributtene samsvarer med filteret påstanden. Vær oppmerksom på at en vanlig misforståelse er at LDAP-data er case-sensitive, mens faktum er samsvarende regler og bestilling av reglene bestemmer matching, sammenligninger, og relativ verdi relasjoner., Hvis for eksempel filtre var nødvendig for å matche tilfelle av attributt-verdi, en extensible kampen må filteret brukes, for eksempel(&(objectClass=person)(|(givenName:caseExactMatch:=John)(mail:caseExactSubstringsMatch:=john*)))
derefAliases Om og hvordan å følge alias oppføringer (oppføringene som refererer til andre oppføringer), attributter attributter Som å gå tilbake i resultat oppføringer. sizeLimit, timeLimit Maksimalt antall registreringer for å gå tilbake, og maksimal tid for å tillate søk for å kjøre. Disse verdiene kan imidlertid ikke overstyre eventuelle restriksjoner serveren steder på størrelse grense, og tidsbegrensning. typesOnly Tilbake attributt-typer, ikke-attributt-verdier.,
serveren returnerer matchende oppføringer og potensielt videreføring referanser. Disse kan også bli returnert i hvilken som helst rekkefølge. Det endelige resultatet vil omfatte resultatet kode.
for å Sammenligne operasjonen tar en DN, et attributt navn og et attributt verdi, og sjekker om den navngitte oppføringen inneholder denne egenskapen med denne verdien.
ModifyEdit
ENDRE-drift er brukt av LDAP-kunder for å be om at LDAP-server gjøre endringer i eksisterende oppføringer. Forsøk på å endre oppføringer som ikke eksisterer, vil mislykkes. ENDRE forespørsler er avhengig av tilgang til kontrollene som gjennomføres av serveren.,
ENDRE-operasjonen krever at distinguished name (DN) av oppføringen være spesifisert, og en sekvens av endringer. Hver endring i rekkefølgen som må være en av:
- add (legg til en ny verdi, som ikke må finnes allerede i attributtet)
- delete (slette en eksisterende verdi)
- erstatt (erstatte en eksisterende verdi med en ny verdi)
LDIF eksempel å legge til en verdi til et attributt:
dn: dc=example,dc=comchangetype: modifyadd: cncn: the-new-cn-value-to-be-added-
for Å erstatte verdien av et eksisterende attributt, Bruker du bytt søkeord., Hvis attributtet multi-verdsatt, klienten må du angi verdien for attributtet til å oppdatere.
for Å slette en egenskap fra en oppføring, kan du bruke søkeord du vil slette, og changetype indikator endre. Hvis attributtet multi-verdsatt, oppdragsgiver må angi verdien av attributtet for å slette.
Det er også en Endre-Tilvekst extension som gjør det mulig for en incrementable attributt verdi økes ved et angitt beløp., Følgende eksempel ved bruk av LDIF-trinn employeeNumber ved 5:
dn: uid=user.0,ou=people,dc=example,dc=comchangetype: modifyincrement: employeeNumberemployeeNumber: 5-
Når LDAP-servere er i en replikert topologi, LDAP kunder bør vurdere å bruke post-lese-kontroll for å kontrollere oppdateringer i stedet for et søk etter en oppdatering. Post-lese-kontroll er utformet slik at programmer som ikke trenger å utstede et søk etter en oppdatering – det er for dårlig form til å hente en oppføring for det formål å kontrollere at en oppdatering jobbet på grunn av replikering eventuell konsistens modell., En LDAP-klient bør ikke anta at den kobler seg til den samme katalogen server for hver forespørsel fordi arkitekter kan ha plassert legg-balancers eller LDAP-proxyer eller både mellom LDAP-klienter og servere.
Endre DNEdit
Endre DN (flytte/endre oppføring) tar den nye RDN (Relativ unikt Navn), eventuelt de nye foreldrenes DN, og et flagg som angir om å slette verdien(e) i oppføring som samsvarer med den gamle RDN. Serveren støtter døpe av hele katalogen subtrees.,
En oppdatering drift er atomic: Andre operasjoner vil se enten den nye oppføringen eller den gamle. På den annen side, LDAP ikke angi transaksjoner av flere operasjoner: Hvis du vil lese en oppføring og trykk deretter endre det, en annen klient kan ha oppdaterte oppføringen i mellomtiden. Servere kan gjennomføre utvidelser som støtter dette, skjønt.
Utvidet operationsEdit
Utvidet Drift er en generisk LDAP-operasjoner som kan definere nye operasjoner som ikke var en del av den opprinnelige protokollen-spesifikasjon. StartTLS er en av de mest betydelige utvidelser., Andre eksempler er Avbryte og Endre Passord.
StartTLSEdit
StartTLS drift etablerer Transport Layer Security (de etterkommer av SSL) på den forbindelse. Det kan gi data konfidensialitet (for å beskytte data fra å bli observert av tredjeparter) og/eller data integritet beskyttelse (som beskytter data mot manipulering). Under TLS forhandling serveren sender sin X. 509 sertifikat for å bevise sin identitet. Klienten kan også sende et sertifikat for å bevise sin identitet. Etter du har gjort dette, kan klienten deretter bruke SASL/EKSTERNE., Ved hjelp av SASL/EKSTERN klienten ber om serveren henter sin identitet fra legitimasjon gitt på et lavere nivå (for eksempel TLS). Selv om det er teknisk server kan bruke hvilken som helst identitet informasjon etablert på et lavere nivå, vanligvis serveren vil bruke identitet informasjon etablert av TLS.
Servere også ofte støtter den ikke-standard «LDAPS» («Secure LDAP», kjent som «LDAP over SSL) – protokollen på en egen port som standard 636., LDAPS skiller seg fra LDAP på to måter:1) ved tilkobling, klient og server etablere TLS før noen LDAP-meldinger som er overført (uten StartTLS drift) and2) den LDAPS-tilkobling må være lukket ved TLS nedleggelse.
Noen «LDAPS» klientbiblioteker bare kryptere kommunikasjon; de ikke kontroller vertsnavnet mot navn i den medfølgende sertifikat.
AbandonEdit
Forlate drift ber om at serveren avbryter en operasjon kalt av et meldings-ID. Serveren trenger ikke å hedre forespørsel. Verken Forlate heller en vellykket forlatt drift sende et svar., En lignende Avbryt utvidet drift sender svar, men ikke alle implementeringer støtter dette.
UnbindEdit
Unbind drift forlater noen fremragende drift og avslutter tilkoblingen. Det har ingen svar. Navnet er av historisk opprinnelse, og er ikke det motsatte av Bind-operasjon.
Kunder kan avbryte en økt ved ganske enkelt å lukke tilkoblingen, men de bør bruke Unbind. Unbind lar serveren til grasiøst lukke tilkoblingen og frigjøre ressurser som ellers ville det holde for noen tid til å oppdage klienten hadde forlatt den forbindelse., Den pålegger også serveren for å avbryte operasjoner som kan bli avbrutt, og ikke sende svar for operasjoner som ikke kan bli avbrutt.