Port 636 TLS/SSL Port 389 Plain
This commit is contained in:
parent
0b02fb196b
commit
d57df1babf
27
ldap.go
27
ldap.go
@ -3,15 +3,36 @@ package main
|
|||||||
import (
|
import (
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/go-ldap/ldap/v3"
|
"github.com/go-ldap/ldap/v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
func fetchDataFromLDAP() ([]Person, error) {
|
func fetchDataFromLDAP() ([]Person, error) {
|
||||||
l, err := ldap.DialTLS("tcp", ldapConfig.Server+":"+ldapConfig.Port, &tls.Config{InsecureSkipVerify: true})
|
var l *ldap.Conn
|
||||||
|
var err error
|
||||||
|
|
||||||
|
// Port überprüfen und entsprechende Verbindung herstellen
|
||||||
|
port, err := strconv.Atoi(ldapConfig.Port)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to connect to LDAP server: %v", err)
|
return nil, fmt.Errorf("ungültiger Port: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if port == 636 {
|
||||||
|
// SSL/TLS-Verbindung für Port 636
|
||||||
|
l, err = ldap.DialTLS("tcp", ldapConfig.Server+":"+ldapConfig.Port, &tls.Config{InsecureSkipVerify: true})
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to connect to LDAP server (TLS): %v", err)
|
||||||
|
}
|
||||||
|
} else if port == 389 {
|
||||||
|
// Unverschlüsselte Verbindung für Port 389
|
||||||
|
l, err = ldap.Dial("tcp", ldapConfig.Server+":"+ldapConfig.Port)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to connect to LDAP server: %v", err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return nil, fmt.Errorf("unsupported LDAP port: %s, use 389 for unencrypted or 636 for TLS/SSL", ldapConfig.Port)
|
||||||
}
|
}
|
||||||
defer l.Close()
|
defer l.Close()
|
||||||
|
|
||||||
@ -122,4 +143,4 @@ func isValidContact(entry *ldap.Entry) bool {
|
|||||||
telephoneNumber := entry.GetAttributeValue("telephoneNumber")
|
telephoneNumber := entry.GetAttributeValue("telephoneNumber")
|
||||||
|
|
||||||
return firstName != "" && lastName != "" && telephoneNumber != config.PhoneRules.InvalidNumber
|
return firstName != "" && lastName != "" && telephoneNumber != config.PhoneRules.InvalidNumber
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user