Úvod do jarného zabezpečenia LDAP

1. Prehľad

V tomto rýchlom výučbe sa naučíme, ako nastaviť Spring Security LDAP.

Než začneme, poznámka o tom, čo je LDAP - je to skratka pre Lightweight Directory Access Protocol a je to otvorený protokol neutrálny voči predajcovi pre prístup k adresárovým službám v sieti.

2. Závislosť od Maven

Najprv sa pozrime na závislosti závislostí, ktoré potrebujeme:

 org.springframework.security spring-security-ldap org.apache.directory.server apacheds-server-jndi 1.5.5 

Poznámka: Ako server LDAP, ktorý je rozšíriteľným a vložiteľným adresárovým serverom, sme použili ApacheDS.

3. Konfigurácia Java

Ďalej poďme diskutovať o našej konfigurácii Java pre jarné zabezpečenie:

verejná trieda SecurityConfig rozširuje WebSecurityConfigurerAdapter {@Override chránená neplatná konfigurácia (AuthenticationManagerBuilder auth) vyvolá výnimku {auth.ldapAuthentication () .usSearchSearch ("ou = people"). userSearchFilter ("(uid = {0})") .groupSearchBase ("ou" = groups ") .groupSearchFilter (" member = {0} ") .contextSource () .root (" dc = baeldung, dc = com ") .ldif (" classpath: users.ldif "); }}

Toto je samozrejme iba časť konfigurácie relevantná pre LDAP - úplnú konfiguráciu Java nájdete tu.

4. Konfigurácia XML

Poďme sa teraz pozrieť na zodpovedajúcu konfiguráciu XML:

Toto je opäť iba časť konfigurácie - časť, ktorá je relevantná pre LDAP; úplnú konfiguráciu XML nájdete tu.

5. Formát výmeny údajov LDAP

Údaje LDAP je možné reprezentovať pomocou formátu LDIF (LDIF Data Interchange Format) - tu je príklad našich používateľských údajov:

dn: ou = groups, dc = baeldung, dc = com objectclass: top objectclass: organizationUnit ou: groups dn: ou = people, dc = baeldung, dc = com objectclass: top objectclass: organizationUnit ou: people dn: uid = baeldung, ou = people, dc = baeldung, dc = com objectclass: top objectclass: person objectclass: organizationPerson objectclass: inetOrgPerson cn: Jim Beam sn: Beam uid: baeldung userPassword: password dn: cn = admin, ou = groups, dc = baeldung, dc = com objectclass: top objectclass: groupOfNames cn: admin member: uid = baeldung, ou = people, dc = baeldung, dc = com dn: cn = user, ou = groups, dc = baeldung, dc = com objectclass: top objectclass : groupOfNames cn: užívateľský člen: uid = baeldung, ou = people, dc = baeldung, dc = com

6. Žiadosť

Na záver je tu naša jednoduchá aplikácia:

@Controller public class MyController {@RequestMapping ("/ secure") public String secure (Map model, Principal principal) {model.put ("title", "SECURE AREA"); model.put ("správa", "Túto stránku môžu vidieť iba oprávnení používatelia"); vrátiť sa domov"; }}

7. Záver

V tomto rýchlom sprievodcovi jarným zabezpečením pomocou protokolu LDAP sme sa naučili, ako zabezpečiť základný systém pomocou protokolu LDIF a nakonfigurovať zabezpečenie tohto systému.

The úplná implementácia tohto tutoriálu nájdete v projekte GitHub - jedná sa o projekt založený na Eclipse, takže by malo byť ľahké ho importovať a spustiť tak, ako je.


$config[zx-auto] not found$config[zx-overlay] not found