lichen 7 months ago
parent
commit
2a7337af8f

+ 8 - 3
springboot-ldaptive/src/main/java/org/example/lc/controller/LdapController.java

@@ -2,9 +2,9 @@ package org.example.lc.controller;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.example.lc.request.AddUserReq;
-import org.example.lc.request.DelUserReq;
-import org.example.lc.response.ResponseBean;
+import org.example.lc.pojo.request.AddUserReq;
+import org.example.lc.pojo.request.DelUserReq;
+import org.example.lc.pojo.response.ResponseBean;
 import org.example.lc.service.LdapService;
 import org.ldaptive.LdapException;
 import org.ldaptive.SearchResult;
@@ -41,6 +41,11 @@ public class LdapController {
     @ApiOperation("删除用户")
     @PostMapping("/del")
     public ResponseBean<Boolean> del(@Valid @RequestBody DelUserReq delUserReq) {
+        try {
+            ldapService.del(delUserReq);
+        }catch (Exception e){
+            System.out.println(e.getMessage());
+        }
         return null;
     }
 }

+ 1 - 1
springboot-ldaptive/src/main/java/org/example/lc/request/AddUserReq.java → springboot-ldaptive/src/main/java/org/example/lc/pojo/request/AddUserReq.java

@@ -1,4 +1,4 @@
-package org.example.lc.request;
+package org.example.lc.pojo.request;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
springboot-ldaptive/src/main/java/org/example/lc/request/DelUserReq.java → springboot-ldaptive/src/main/java/org/example/lc/pojo/request/DelUserReq.java

@@ -1,4 +1,4 @@
-package org.example.lc.request;
+package org.example.lc.pojo.request;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
springboot-ldaptive/src/main/java/org/example/lc/request/LoginRequest.java → springboot-ldaptive/src/main/java/org/example/lc/pojo/request/LoginRequest.java

@@ -1,4 +1,4 @@
-package org.example.lc.request;
+package org.example.lc.pojo.request;
 
 public class LoginRequest {
     private String username;

+ 1 - 1
springboot-ldaptive/src/main/java/org/example/lc/response/BasePageResponse.java → springboot-ldaptive/src/main/java/org/example/lc/pojo/response/BasePageResponse.java

@@ -1,4 +1,4 @@
-package org.example.lc.response;
+package org.example.lc.pojo.response;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;

+ 1 - 1
springboot-ldaptive/src/main/java/org/example/lc/response/ResponseBean.java → springboot-ldaptive/src/main/java/org/example/lc/pojo/response/ResponseBean.java

@@ -1,4 +1,4 @@
-package org.example.lc.response;
+package org.example.lc.pojo.response;
 
 import io.swagger.annotations.ApiModelProperty;
 

+ 1 - 1
springboot-ldaptive/src/main/java/org/example/lc/response/ResponseStatus.java → springboot-ldaptive/src/main/java/org/example/lc/pojo/response/ResponseStatus.java

@@ -1,4 +1,4 @@
-package org.example.lc.response;
+package org.example.lc.pojo.response;
 
 public interface ResponseStatus {
     String getCode();

+ 25 - 10
springboot-ldaptive/src/main/java/org/example/lc/service/LdapService.java

@@ -1,7 +1,8 @@
 package org.example.lc.service;
 
-import org.example.lc.request.AddUserReq;
-import org.example.lc.response.ResponseBean;
+import org.example.lc.pojo.request.AddUserReq;
+import org.example.lc.pojo.request.DelUserReq;
+import org.example.lc.pojo.response.ResponseBean;
 import org.ldaptive.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -23,15 +24,15 @@ public class LdapService {
             SearchOperation search = new SearchOperation(conn);
             SearchResult result = search.execute(
                     new SearchRequest(
-                            baseDn, "(cn=*)")).getResult();
+                            baseDn, filter)).getResult();
 
             for (LdapEntry entry : result.getEntries()) {
                 // do something useful with the entry
                 System.out.println(entry.getDn());
-                entry.getAttributes();
-
+                for(LdapAttribute attribute : entry.getAttributes()){
+                    System.out.println(attribute.getName() + "------" + attribute.getStringValue());
+                }
             }
-
         } finally {
             conn.close();
         }
@@ -40,10 +41,12 @@ public class LdapService {
 
     public ResponseBean<Boolean> addUser(AddUserReq req) throws LdapException {
         LdapEntry entry = new LdapEntry(
-                "cn=" + req.getUserName() + ",cn=readers,ou=users,dc=northking,dc=net",
-                new LdapAttribute("userName", req.getUserName()),
-                new LdapAttribute("pwd", req.getPwd()),
-                new LdapAttribute("email", req.getEmail()));
+                "cn=" + req.getUserName() + ",ou=users,dc=northking,dc=net",
+                new LdapAttribute("objectClass", "inetOrgPerson"),
+                new LdapAttribute("cn", req.getUserName()),
+                new LdapAttribute("sn", req.getUserName()),
+                new LdapAttribute("userPassword", req.getPwd()),
+                new LdapAttribute("mail", req.getEmail()));
 
         Connection conn = connectionFactory.getConnection();
         try {
@@ -55,4 +58,16 @@ public class LdapService {
         }
         return null;
     }
+
+    public ResponseBean<Boolean> del(DelUserReq req) throws LdapException {
+        Connection conn = connectionFactory.getConnection();
+        try {
+            conn.open();
+            DeleteOperation delete = new DeleteOperation(conn);
+            delete.execute(new DeleteRequest("cn=" + req.getUserName() + ",ou=users,dc=northking,dc=net"));
+        } finally {
+            conn.close();
+        }
+        return null;
+    }
 }