PerfectlySoft / Perfect-LDAP

A simple Swift class wrapper of OpenLDAP.
https://www.perfect.org
Apache License 2.0
27 stars 16 forks source link

Requested: more examples #9

Open nblom opened 3 years ago

nblom commented 3 years ago

Trying to get this working, but xcode compains about all kinds of stuff, line two "No exact matches in call to instance method 'login'", and "Invalid redeclaration of 'connection()'"

` let connection = try? LDAP(url: "ldaps://perfect.com") let credential = LDAP.login(binddn: "CN=judy,CN=Users,DC=perfect,DC=com", password: "0penLDAP")

     connection.login(info: credential) { err in

    do {
        try connection.search(base: "CN=Users,DC=perfect,DC=com", filter:"(objectclass=*)") {

            print(res)
        }
    }catch (let err) {
        // failed for some reason
    }
    }`

Could anyone get a complete working example of a login and asynchronous search? Preferably for swift 5.5

najk commented 2 years ago

Login ` let credential = LDAP.Login(binddn: "user@domain", password: "ss") do { let connection = try LDAP(url: "ldaps://domain") connection.login(info: credential) { err in if (err == nil) { connection.search(base: "DC=base,DC=example,DC=com", filter: "(sAMAccountName=testuser)") { res in print(res)

`

just gives [:] as result.

najk commented 2 years ago

Seems to only allow searches when specifying an OU, without OU i get no results.

let res = try connection.search(base: "OU=Users,DC=test,DC=example,DC=com", filter: "(&(objectclass=person)(sAMAccountName=test))", scope: .SUBTREE, attributes: ["memberOf"])