LDAP Authentication

DSE 5.0 introduced a DSE Unified Authenticator. The DSE Authenticator can be used for LDAP authentication by configuring the cluster to use a given username/password for authentication to the DSE cluster. DSE versions earlier than 5.0 are configured similarly but use LDAP Authenticator on the DSE cluster.

Background

Given
a running DSE cluster with LDAP authentication enabled
And
the following example:
Copy
// Get the username and password from environment variables
$username = $_SERVER["USERNAME"];
$password = $_SERVER["PASSWORD"];

// Attempt to create the session using plaintext authentication
try {
    $cluster = Dse::cluster()
        ->withPlaintextAuthenticator($username, $password)
        ->build();
    $session = $cluster->connect();

    // Indicate the connection was successful
    echo "Login successful" . PHP_EOL;
} catch (Dse\Exception\AuthenticationException $deae) {
    // Indicate the connection was unsuccessful
    echo "Login failed" . PHP_EOL;
}

Authenticating with proper LDAP credentials

And
it is executed with proper credentials
Then
its output should contain:
Login successful

Authenticating with improper LDAP credentials

But
it is executed with improper credentials, a Dse\Exception\AuthenticationException will occur
Then
its output should contain:
Login failed