Introduksjon til Spring Security LDAP

1. Oversikt

I denne raske opplæringen vil vi lære hvordan du konfigurerer Spring Security LDAP.

Før vi begynner, et notat om hva LDAP er - det står for Lightweight Directory Access Protocol og det er en åpen, leverandørnøytral protokoll for tilgang til katalogtjenester over et nettverk.

2. Maven avhengighet

La oss først se på avhengighetene vi trenger:

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

Merk: Vi brukte ApacheDS som vår LDAP-server, som er en utvidbar og innebygd katalogserver.

3. Java-konfigurasjon

Deretter, la oss diskutere vår Java Security Java-konfigurasjon:

offentlig klasse SecurityConfig utvider WebSecurityConfigurerAdapter {@Override-beskyttet ugyldig konfigurasjon (AuthenticationManagerBuilder auth) kaster unntak {auth.ldapAuthentication () .userSearchBase ("ou = people") .userSearchFilter ("(uid = {0})") .groupSearchBase ("ou = grupper ") .groupSearchFilter (" medlem = {0} ") .contextSource () .root (" dc = baeldung, dc = com ") .ldif (" classpath: users.ldif "); }}

Dette er selvfølgelig bare den LDAP-relevante delen av konfigurasjonen - den fulle Java-konfigurasjonen finner du her.

4. XML-konfigurasjon

La oss nå ta en titt på tilsvarende XML-konfigurasjon:

Igjen, dette er bare en del av konfigurasjonen - den delen som er relevant for LDAP; hele XML-konfigurasjonen finner du her.

5. LDAP-datautvekslingsformat

LDAP-data kan vises med LDAP Data Interchange Format (LDIF) - her er et eksempel på brukerdataene våre:

dn: ou = grupper, dc = baeldung, dc = com objektklasse: topp objektklasse: organisatorisk Enhet ou: grupper dn: ou = mennesker, dc = baeldung, dc = com objektklasse: topp objektklasse: organisatorisk Enhet ou: mennesker dn: uid = baeldung, ou = people, dc = baeldung, dc = com objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson cn: Jim Beam sn: Beam uid: baeldung userPassword: password dn: cn = admin, ou = groups, dc = baeldung, dc = com objektklasse: topp objektklasse: groupOfNames cn: admin medlem: uid = baeldung, ou = personer, dc = baeldung, dc = com dn: cn = bruker, ou = grupper, dc = baeldung, dc = com objectclass: topp objektklasse : groupOfNames cn: brukermedlem: uid = baeldung, ou = folk, dc = baeldung, dc = com

6. Søknaden

Til slutt, her er vår enkle applikasjon:

@Controller public class MyController {@RequestMapping ("/ secure") public String secure (Map model, Principal principal) {model.put ("title", "SECURE AREA"); model.put ("melding", "Bare autoriserte brukere kan se denne siden"); vende hjem"; }}

7. Konklusjon

I denne hurtigveiledningen til Spring Security med LDAP lærte vi hvordan vi skaffer et grunnleggende system med LDIF og konfigurerer sikkerheten til det systemet.

De full gjennomføring av denne veiledningen finner du i GitHub-prosjektet - dette er et formørkelsesbasert prosjekt, så det skal være enkelt å importere og kjøre som det er.


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