Bevezetés a Spring Security LDAP-ba
1. Áttekintés
Ebben a gyors bemutatóban megtudhatjuk, hogyan kell beállítani a Spring Security LDAP-t.
Mielőtt elkezdenénk, megjegyzés arról, hogy mi az LDAP - ez a Lightweight Directory Access Protocol rövidítése, és nyitott, gyártói semleges protokoll a címtárszolgáltatások hálózaton keresztüli elérésére.
2. Maven-függőség
Először vessünk egy pillantást a szükséges maven függőségekre:
org.springframework.security spring-security-ldap org.apache.directory.server apacheds-server-jndi 1.5.5
Megjegyzés: Az ApacheDS-t használtuk LDAP-kiszolgálónkként, amely kiterjeszthető és beágyazható címtárszerver.
3. Java konfiguráció
Ezután beszéljük meg a Spring Security Java konfigurációnkat:
A public class SecurityConfig kiterjeszti a WebSecurityConfigurerAdapter {@Orride protected void configure (AuthenticationManagerBuilder auth) dobja a kivételet {auth.ldapAuthentication () .userSearchBase ("ou = emberek") .userSearchFilter ("(uid = {0})" (groupouase). = csoportok ") .groupSearchFilter (" member = {0} ") .contextSource (). root (" dc = baeldung, dc = com ") .ldif (" classpath: users.ldif "); }}
Ez természetesen csak a konfiguráció LDAP releváns része - a teljes Java konfiguráció itt található.
4. XML konfiguráció
Most nézzük meg a megfelelő XML konfigurációt:
Ez megint csak a konfiguráció része - az LDAP szempontjából releváns rész; a teljes XML-konfiguráció itt található.
5. LDAP adatcsere-formátum
Az LDAP-adatok az LDAP Data Interchange Format (LDIF) segítségével ábrázolhatók - itt van egy példa felhasználói adatainkra:
dn: ou = csoportok, dc = baeldung, dc = com objektumosztály: felső objektum: szervezeti ou = emberek, dc = baeldung, dc = com objectclass: top objectclass: person objectclass: organizationPerson objektumosztály: inetOrgPerson cn: Jim Beam sn: Beam uid: baeldung userPassword: jelszó dn: cn = admin, ou = csoportok, dc = baeldung, dc = com objectclass: top objectclass: groupOfNames cn: admin tag: uid = baeldung, ou = people, dc = baeldung, dc = com dn: cn = user, ou = groups, dc = baeldung, dc = com objectclass: top objectclass : groupOfNames cn: felhasználói tag: uid = baeldung, ou = people, dc = baeldung, dc = com
6. Az alkalmazás
Végül itt van az egyszerű alkalmazásunk:
@Controller public class MyController {@RequestMapping ("/ Secure") public String Secure (Map model, Principal Principal) {model.put ("title", "SECURE TREA"); model.put ("message", "Csak jogosult felhasználók láthatják ezt az oldalt"); hazatérni"; }}
7. Következtetés
Ebben a rövid útmutatóban a Spring Security with LDAP-ról megtanultuk, hogyan kell egy alaprendszert biztosítani az LDIF-sel, és konfigurálni a rendszer biztonságát.
A teljes végrehajtása ennek az oktatóanyagnak a GitHub projektjében található meg - ez egy Eclipse-alapú projekt, ezért könnyen importálhatónak és futtathatónak kell lennie.