מבוא ל- LDAP באבטחת אביב

1. סקירה כללית

במדריך מהיר זה, נלמד כיצד להגדיר את Spring Security LDAP.

לפני שנתחיל, הערה לגבי מה זה LDAP - זה מייצג פרוטוקול גישה קלה לספריות וזה פרוטוקול פתוח ונטרלי ספקים לגישה לשירותי ספריות ברשת.

2. תלות של Maven

ראשית, בואו נסתכל על התלות המעוותות הדרושות לנו:

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

הערה: השתמשנו ב- ApacheDS כשרת LDAP שלנו שהוא שרת ספריות הניתן להרחבה וניתנה להטמעה.

3. תצורת Java

לאחר מכן, בואו נדון בתצורת Java של אבטחת האביב שלנו:

מחלקה ציבורית SecurityConfig מרחיב את WebSecurityConfigurerAdapter {@Override מוגן ריק מוגדר (AuthenticationManagerBuilder auth) זורק חריג {auth.ldapAuthentication () .userSearchBase ("ou = people") .userSearchFilter ("(uid = {0})") .groupSearchBase ("ou = קבוצות ") .groupSearchFilter (" חבר = {0} ") .contextSource () .root (" dc = baeldung, dc = com ") .ldif (" classpath: users.ldif "); }}

זה כמובן רק החלק הרלוונטי ל- LDAP בתצורה - את תצורת ה- Java המלאה תוכלו למצוא כאן.

4. תצורת XML

עכשיו, בואו נסתכל על תצורת ה- XML ​​המתאימה:

שוב, זה רק חלק מהתצורה - החלק הרלוונטי ל- LDAP; את תצורת ה- XML ​​המלאה תוכלו למצוא כאן.

5. פורמט מחליף נתונים LDAP

ניתן לייצג נתוני LDAP באמצעות פורמט מחליף נתונים LDAP (LDIF) - הנה דוגמה לנתוני המשתמש שלנו:

dn: ou = קבוצות, dc = baeldung, dc = com objectclass: top objectclass: organisationalUnit ou: קבוצות dn: ou = people, dc = baeldung, dc = com objectclass: top objectclass: organisational Unit אחד: אנשים dn: uid = baeldung, ou = אנשים, dc = baeldung, dc = com אובייקט קלאס: אובייקט קלאס עליון: אדם אובייקט קלאס: ארגוני פיסת אובייקט מחלקה: inetOrg פרסה cn: ג'ים קרן sn: קרן uid: משתמש baeldung סיסמה: סיסמה dn: cn = מנהל, ou = קבוצות, dc = baeldung, dc = com objectclass: top objectclass: groupOfNames cn: חבר מנהל: uid = baeldung, ou = people, dc = baeldung, dc = com dn: cn = user, ou = groups, dc = baeldung, dc = com objectclass: class top object : groupOfNames cn: חבר משתמש: uid = baeldung, ou = people, dc = baeldung, dc = com

6. היישום

לבסוף, הנה היישום הפשוט שלנו:

@Controller מחלקה ציבורית MyController {@RequestMapping ("/ מאובטח") ציבורי מחרוזת מאובטחת (מודל מפה, מנהל ראשי) {model.put ("כותרת", "אזור מאובטח"); model.put ("הודעה", "רק משתמשים מורשים יכולים לראות דף זה"); לחזור הביתה"; }}

7. מסקנה

במדריך מהיר זה לאבטחת אביב עם LDAP, למדנו כיצד לספק מערכת בסיסית עם LDIF ולהגדיר את האבטחה של אותה מערכת.

ה יישום מלא של הדרכה זו ניתן למצוא בפרויקט GitHub - זהו פרויקט מבוסס ליקוי חמה, כך שיהיה קל לייבא ולהפעיל אותו כפי שהוא.


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