LDAP

All lectures for UZ purposes
Daraja, Dars
Mavjud

LDAP (Lightweight Directory Access Protocol) – ochiq, platformadan mustaqil, sanoat standartidagi qo'llash darajasidagi protokol bo'lib, IP tarmog'i orqali katalog xizmatlariga kirish va ularni qo'llab-quvvatlashni tashkil etadi. Spring Boot har qanday LDAP-server bilan avtomatik konfiguratsiyani ta'minlaydi, shuningdek, xotirada joylashgan ichki LDAP-serverni qo'llab-quvvatlash vositalariga ega bo'lgan UnboundIDdan foydalanishni o'z ichiga oladi.

LDAP-abstraktsiyalar Spring Data LDAP orqali taqdim etiladi. Bog'liqliklarni yig'ish uchun qulay bo'lgan "starter" spring-boot-starter-data-ldap mavjud.

LDAP-serverga ulanish

LDAP-serverga ulanish uchun, siz "starter" spring-boot-starter-data-ldap yoki spring-ldap-coredan foydalanayotganingizni e'lon qilganingizga ishonch hosil qiling va keyin application.properties faylida server URL-manzilingizni quyidagi misolda ko'rsatilgandek e'lon qiling:

Properties
spring.ldap.urls=ldap://myserver:1235
spring.ldap.username=admin
spring.ldap.password=secret
Yaml
spring:
  ldap:
    urls: "ldap://myserver:1235"
    username: "admin"
    password: "secret"

Agar ulanish parametrlarini sozlashingiz kerak bo'lsa, spring.ldap.base va spring.ldap.base-environment xususiyatlaridan foydalanishingiz mumkin.

LdapContextSource avtomatik ravishda ushbu parametrlar asosida konfiguratsiya qilinadi. Agar DirContextAuthenticationStrategy bo'linmasi mavjud bo'lsa, u avtomatik konfiguratsiya qilingan LdapContextSourcega biriktiriladi. Agar uni, masalan, PooledContextSourcedan foydalangan holda sozlamoqchi bo'lsangiz, avtomatik konfiguratsiya qilingan LdapContextSourceni qo'shishingiz mumkin. Sozlangan ContextSourceni @Primary deb belgilashingiz kerak bo'ladi, shunda avtomatik konfiguratsiya qilingan LdapTemplate uni ishlata oladi.

Spring Data LDAP Repozitoriyalari

Spring Data LDAP uchun repozitoriyalarni qo'llab-quvvatlash vositalariga ega.

Avtomatik konfiguratsiya qilingan LdapTemplate misolini boshqa Spring Bean'lardek kiritishingiz mumkin, quyidagi misolda ko'rsatilganidek:

Java
import java.util.List; import org.springframework.ldap.core.LdapTemplate; import org.springframework.stereotype.Component; @Component public class MyBean { private final LdapTemplate template; public MyBean(LdapTemplate template) { this.template = template; }  // ...  public List<User> someMethod() { return this.template.findAll(User.class); } } 
Kotlin
import org.springframework.ldap.core.LdapTemplate import org.springframework.stereotype.Component @Component class MyBean(private val template: LdapTemplate) {  // ...  fun someMethod(): List<User> { return template.findAll(User::class.java) } } 

Xotirada joylashgan ichki LDAP-server

Test uchun Spring Boot UnboundIDdan foydalanib xotirada joylashgan LDAP-serverni avtomatik konfiguratsiyasini qo'llab-quvvatlaydi. Serverni sozlash uchun, com.unboundid:unboundid-ldapsdk bog'liqligini qo'shing va quyida ko'rsatilgandek spring.ldap.embedded.base-dn xususiyatini e'lon qiling:

Properties
spring.ldap.embedded.base-dn=dc=spring,dc=io
Yaml
spring:
  ldap:
    embedded:
      base-dn: "dc=spring,dc=io"

Bir nechta bazani izlash uchun "base-dn" qiymatlarini belgilashingiz mumkin, ammo, ajralish nomi odatda vergullarni o'z ichiga oladi, shuning uchun ularni to'g'ri yozuv (notation) foydalanib belgilashingiz kerak.

Yaml-fayllarda yamlning ro'yhat shaklidan foydalanishingiz mumkin. Xususiyat fayllarida indeksni xususiyat nomining bir qismi sifatida kiritishingiz kerak:

Properties
spring.ldap.embedded.base-dn[0]=dc=spring,dc=io
spring.ldap.embedded.base-dn[1]=dc=pivotal,dc=io
Yaml
spring.ldap.embedded.base-dn:
  - "dc=spring,dc=io"
  - "dc=pivotal,dc=io"

Odatiy holatda server tasodifiy port orqali ishlaydi, shuningdek LDAPni qo'llab-quvvatlashning standart vositalari ham ishga tushiriladi. spring.ldap.urls xususiyatini belgilashingiz shart emas.

Agar classpathda schema.ldif fayli mavjud bo'lsa, u serverni boshlash uchun ishlatiladi. Agar boshqa resursdan yuklab olishni xohlasangiz, spring.ldap.embedded.ldif xususiyatidan foydalanishingiz mumkin.

Odatiy holatda LDIF formatidagi fayllarni tekshirish uchun standart sxema ishlatiladi. Validatsiyani to'liq o'chirib qo'yish uchun spring.ldap.embedded.validation.enabled xususiyatini belgilashingiz mumkin. Agar sizda maxsus atributlar bo'lsa, maxsus atribut turlari yoki obyekt sinflarini aniqlash uchun spring.ldap.embedded.validation.schema xususiyatidan foydalanishingiz mumkin.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION