Dieser Artikel ist ein Artikel über LDAP-Verbindungsvorgänge in der Spring Boot-Serie. Es beinhaltet nur die grundlegende Verwendung von ODM, um die LDAP -Addition, Löschung, Änderung und Suchvorgänge schnell zu implementieren. Ausführliche Informationen zu Spring LDAP finden Sie in der übersetzten offiziellen Dokumentation.
Der Zweck dieses Artikels: Verwenden Sie Spring Boot, um Projekte zu erstellen, um die Leser bei der schnellen Konfiguration und dem Betrieb von LDAP mithilfe von Spring LDAP zu unterstützen. Die allgemeinen Schritte sind wie folgt:
1. Erstellen Sie das Spring Boot -Projekt (ca. 1 Minute)
2. Fügen Sie die Abhängigkeit von der Spring -LDAP in die Datei pom.xml hinzu (ca. 1 Minute)
3. Konfigurieren Sie die Information über die Spring -LDAP -Verbindung (ca. 1 Minute)
4. Erstellen Sie Entitätsklassen als Eintragskarte in LDAP (ODM -Mapping -Funktion, ähnlich wie ORM).
5. Methode zum Schreiben von Serviceschichten mit Ldaptemplate (ca. 3 Minuten)
6. Schreiben Sie die Controller -Ebene (ca. 3 Minuten)
1. Erstellen Sie das Spring Boot -Projekt (ca. 1 Minute)
Klicken Sie auf Datei - Neu - Projekt in der Idee
Abbildung 1
Wie in der obigen Abbildung gezeigt, wählen Sie links die Spring Initializr aus, um das Federprojekt zu initialisieren. Klicken Sie nach dem Konfigurieren des SDK auf Weiter.
Abbildung 2
Nachdem Sie wie in Abbildung 2 nur Demo angeklicken, kann die Seite standardmäßig auf Weiter klicken.
Abbildung 3
Wie in Abbildung 3 gezeigt, wählen wir das Web aus, und die Komponenten, die sich mit dem Web beziehen, werden auf der rechten Seite angezeigt. Wir wählen das Web rechts und aktivieren das Feld vor dem Feld. Dies bedeutet, dass Web-bezogene Abhängigkeiten im erstellten Spring Boot-Projekt eingeführt werden. Klicken Sie auf Weiter.
Abbildung 4
Wie in Abbildung 4 gezeigt, nennen Sie es einfach selbst hier, klicken Sie auf Fertig stellen.
2. Fügen Sie die Abhängigkeit von der Spring -LDAP in die Datei pom.xml hinzu (ca. 1 Minute)
Abbildung 5
Wie in Abbildung 5 oben gezeigt, doppelklicken Sie im Projekt auf pom.xml, um Abhängigkeiten hinzuzufügen.
Abbildung 6
Wie in Abbildung 6 gezeigt, wurde die Datei mit Abhängigkeiten mit Federstiefel-Starter-Web geladen. Wenn wir Spring LDAP verwenden möchten, um den LDAP-Server zu betreiben, müssen wir Spring-Boot-Starter-Data-LDAP hinzufügen. Diese Abhängigkeit lädt automatisch Spring-LDAP-Core- und Spring-DATA-LDAP-Abhängigkeiten. Unter ihnen ist Spring-LDAP-Core die Kernabhängigkeit von LDAP-Operationen, während Spring-DATA-LDAP ODM-Funktionen zur Vereinfachung der Operationen bietet. Wir können diese beiden Abhängigkeiten in den externen Bibliotheken des Projekts sehen, wie in den folgenden Abbildung 7 dargestellt:
Abbildung 7
3. Konfigurieren Sie die Informationen zur Spring -LDAP -Verbindung
Abbildung 8
Wie in Abbildung 8 oben gezeigt, basiert die Konfiguration auf den Anweisungen der LDAP -Konfiguration auf der offiziellen Spring -Boot -Website. Nach dieser Konfiguration liest Spring Start die Konfiguration automatisch.
4. Erstellen Sie die Entitätsklasse als Einstiegskarte in LDAP
In diesem Beispiel wird die ODM -Funktion verwendet, um den Betrieb von LDAP erheblich zu vereinfachen. Weitere Informationen zu ODM finden Sie in den übersetzten offiziellen Dokumenten.
Wir erstellen die folgende Struktur im Projekt:
Abbildung 9
Jetzt schreiben wir die Entitätsklasse, die sich mit dem Eintragspaket karten. Unter ihnen ist meine LDAP -Struktur wie folgt
Abbildung 10
Erstellen Sie eine neue Personklasse
paket com.example.demo.entry; import com.fasterxml.jackson.annotation org.springframework.ldap.support.LdapNameBuilder;import javax.naming.Name;/** * @Author: geng_pool * @Description: * @Date: Created in 2017/12/27 10:24 * @Modified by: */@Entry(objectClasses = {"organizationalPerson","person","top"},base = "o = myorg") public class Person {@id @jsonignore privater Name dn; @Attribute (name = "cn") private String cn; @Attribute (name = "sn") private String sn; @Attribute (name = "Benutzerpassword") private String -Benutzerpassword; public person (string cn) {name dn = ldapnamebuilder.newinstance () .add ("o", "myorg") .add ("cn", cn) .build (); this.dn = dn; } public Person () {} / * Getter * / public name getdn () {return dn; } public String getCn () {return cn; } public String getn () {return sn; } public String getUserPassword () {Benutzerpassword zurückgeben; } / * setter * / public void setdn (Name dn) {this.dn = dn; } public void setcn (String cn) {this.cn = cn; if (this.dn == null) {name dn = ldapnamebuilder.newinstance () .Add ("o", "myorg") .Add ("cn", cn) .build (); this.dn = dn; }} public void setsn (String sn) {this.sn = sn; } public void setUserPassword (String -Benutzerpassword) {this.userpassword = userpassword; } @Override public String toString () {return "person {" + "dn =" + dn.toString () + ", cn = '" + cn +'/'' + ", sn = '" + sn +'/' + ", Userpassword =' + Benutzerpassword + '' '' '}'; }}Beachten Sie, dass @Entry und @ID erforderlich sind. @Jsonignore soll keinen Fehler bei der Übergabe der Person an den Frontend melden, da der Namenstyp nicht automatisch in das JSON -Format analysiert werden kann. Beachten Sie, dass ich aus Gründen der Einschätzung die DN -Value -Generierungsmethode in der öffentlichen Person (String CN) {} -Konstruktor geschrieben habe und auch die Methode in SetCN geschrieben habe. Natürlich gibt es ein Problem der Code -Duplikation, ignorieren Sie es einfach.
5. Methode zum Schreiben von Serviceschichten mit Ldaptemplate
Erstellen Sie im Servicepaket eine neue ODMPersonRepo -Klasse
paket com.example.demo.service; import com.example.demo.entry.person; import org.springframework.bean.factory.Annotation.autowired; org.springFramework.ldap.query.ldapQueryBuilder.query;/** * @Author: Geng_pool * @Description: * @Date: 2017/12/27 10:37 * @modified von: */ @ServicePublic class OdmpersonRepo {@Antapeired private ldaptemplate; öffentliche Person create (Person Person) {ldaptemplate.create (Person); Rückkehr Person; } public Person findBycn (String cn) {return ldaptemplate.findone (query (). WHERE ("CN"). IS (CN), Person.class); } public Person modifyperson (Person Person) {ldaptemplate.update (Person); Rückkehr Person; } public void deletePerson (Person Person) {ldaptemplate.delete (Person); }}Wie Sie sehen können, wurden für uns die grundlegende Ergänzung, Löschung, Änderung und Suchvorgänge implementiert. Wir müssen nur die Methode in Ldaptemplate aufrufen. Um die Ergänzungen, Löschungen, Änderungen und Suchen von LDAP freier zu betreiben, können Sie sich auf die übersetzten offiziellen Dokumente verweisen.
6. Schreiben Sie die Controller -Ebene
Erstellen Sie im Controller -Paket eine neue Testcontroller -Klasse, um den Betrieb von LDAP zu testen.
paket com.example.demo.controller; import com.example.demo.enterry.person; import com.example.demo.service.odmpersonrepo; import org.springframework org.springframework.web.bind.annotation. @RequestMapping (value = "/findone", method = requestMethod.post) public Person findBycn (@RequestParam (name = "cn", fordert = true) String cn) {return odmpersonRepo.findbycn (cn); } @Postmapping (value = "/create") public Person create (@RequestParam (name = "cn") String cn,@requestparam (name = "sn") string sn,@requestparam (name = "userpassword") string userpassworld) {Person person = new person (); Person.SetCn (CN); Person.Setsn (sn); Person.SetUserPassword (Benutzerpassworld); return odmpersonrepo.create (Person); } @Postmapping (value = "/update") public Person update (@RequestParam (name = "cn") String cn,@requestparam (name = "sn") String sn,@requestparam (name = "userpassword") String userpassworld) {Person person = new Person (new Person) (); Person.SetCn (CN); Person.Setsn (sn); Person.SetUserPassword (Benutzerpassworld); return odmpersonrepo.modifyperson (Person); } @Postmapping (value = "/delete") public void delete (@RequestParam (name = "cn") String cn) {Person Person = new Person (); Person.SetCn (CN); odmpersonRepo.DeletPerson (Person); }}Zu diesem Zeitpunkt wurde eine grundlegende Demo abgeschlossen. Testen wir es unten
prüfen
Damit jeder die Schritte ausführen kann, werde ich den Postboten nicht zum Testen verwenden, sondern die Schnittstelle im Browser testen. Anwesend
Start Spring Stiefel. Wenn kein Fehler vorliegt, öffnen Sie den Browser für localhost:8080/ , drücken Sie F12 und geben Sie den Entwicklermodus auf. Suchen Sie die Konsole -Konsole, um uns zu erleichtern, Testanweisungen zu senden.
Stellen Sie zunächst jQuery.js vor. Öffnen Sie jQuery.js, wählen Sie alle aus - kopieren - in die Konsole einfügen - Eingeben, wie in der folgenden Abbildung gezeigt:
Abbildung 11
Als wahr dargestellt, was bedeutet, dass die Belastung erfolgreich ist. Wir können JQuery's Ajax verwenden, um es zu testen.
Daten hinzugefügt
Abbildung 12
Wie vom TestController der Controller -Ebene erforderlich
Abbildung 13
Auf dem LDAP -Server werden auch die hinzugefügten Daten angezeigt
Abbildung 14
Daten finden
Abbildung 15
Die Daten können auch basierend auf CN korrekt gefunden werden.
Daten ändern
Abbildung 16
Überprüfen Sie, ob die LDAP geändert wird
Abbildung 17
Sie können sehen, dass die Daten normal geändert werden können
Daten löschen
Abbildung 18
Überprüfen Sie, ob Sie in LDAP löschen sollen
Abbildung 19
Wie Sie sehen können, wurden die Daten korrekt gelöscht.
Andere Anweisungen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.