...

Source file src/github.com/go-ldap/ldap/v3/examples_moddn_test.go

Documentation: github.com/go-ldap/ldap/v3

     1  package ldap
     2  
     3  import (
     4  	"log"
     5  )
     6  
     7  // This example shows how to rename an entry without moving it
     8  func ExampleConn_ModifyDN_renameNoMove() {
     9  	conn, err := DialURL("ldap://ldap.example.org:389")
    10  	if err != nil {
    11  		log.Fatalf("Failed to connect: %s\n", err)
    12  	}
    13  	defer conn.Close()
    14  
    15  	_, err = conn.SimpleBind(&SimpleBindRequest{
    16  		Username: "uid=someone,ou=people,dc=example,dc=org",
    17  		Password: "MySecretPass",
    18  	})
    19  	if err != nil {
    20  		log.Fatalf("Failed to bind: %s\n", err)
    21  	}
    22  	// just rename to uid=new,ou=people,dc=example,dc=org:
    23  	req := NewModifyDNRequest("uid=user,ou=people,dc=example,dc=org", "uid=new", true, "")
    24  	if err = conn.ModifyDN(req); err != nil {
    25  		log.Fatalf("Failed to call ModifyDN(): %s\n", err)
    26  	}
    27  }
    28  
    29  // This example shows how to rename an entry and moving it to a new base
    30  func ExampleConn_ModifyDN_renameAndMove() {
    31  	conn, err := DialURL("ldap://ldap.example.org:389")
    32  	if err != nil {
    33  		log.Fatalf("Failed to connect: %s\n", err)
    34  	}
    35  	defer conn.Close()
    36  
    37  	_, err = conn.SimpleBind(&SimpleBindRequest{
    38  		Username: "uid=someone,ou=people,dc=example,dc=org",
    39  		Password: "MySecretPass",
    40  	})
    41  	if err != nil {
    42  		log.Fatalf("Failed to bind: %s\n", err)
    43  	}
    44  	// rename to uid=new,ou=people,dc=example,dc=org and move to ou=users,dc=example,dc=org ->
    45  	// uid=new,ou=users,dc=example,dc=org
    46  	req := NewModifyDNRequest("uid=user,ou=people,dc=example,dc=org", "uid=new", true, "ou=users,dc=example,dc=org")
    47  
    48  	if err = conn.ModifyDN(req); err != nil {
    49  		log.Fatalf("Failed to call ModifyDN(): %s\n", err)
    50  	}
    51  }
    52  
    53  // This example shows how to move an entry to a new base without renaming the RDN
    54  func ExampleConn_ModifyDN_moveOnly() {
    55  	conn, err := DialURL("ldap://ldap.example.org:389")
    56  	if err != nil {
    57  		log.Fatalf("Failed to connect: %s\n", err)
    58  	}
    59  	defer conn.Close()
    60  
    61  	_, err = conn.SimpleBind(&SimpleBindRequest{
    62  		Username: "uid=someone,ou=people,dc=example,dc=org",
    63  		Password: "MySecretPass",
    64  	})
    65  	if err != nil {
    66  		log.Fatalf("Failed to bind: %s\n", err)
    67  	}
    68  	// move to ou=users,dc=example,dc=org -> uid=user,ou=users,dc=example,dc=org
    69  	req := NewModifyDNRequest("uid=user,ou=people,dc=example,dc=org", "uid=user", true, "ou=users,dc=example,dc=org")
    70  	if err = conn.ModifyDN(req); err != nil {
    71  		log.Fatalf("Failed to call ModifyDN(): %s\n", err)
    72  	}
    73  }
    74  

View as plain text