diff --git a/README.txt b/README.txt
index ace9a96..0717141 100644
--- a/README.txt
+++ b/README.txt
@@ -225,3 +225,28 @@ Other options you could experiment with:
       reported that this can speed up the Binary protocol (see above). This
       tells the TCP stack to send packets immediately and without waiting for
       a full payload, reducing per-packet network latency (disabling "Nagling").
+
+It's possible to enable SASL authentication as documented here:
+  http://php.net/manual/en/memcached.setsaslauthdata.php
+  https://code.google.com/p/memcached/wiki/SASLHowto
+
+SASL authentication requires a memcached server with SASL support (version 1.4.3
+or greater built with --enable-sasl and started with the -S flag) and the PECL
+memcached client version 2.0.0 or greater also built with SASL support. Once
+these requirements are satisfied you can then enable SASL support in the Drupal
+memcache module by enabling the binary protocol and setting
+memcache_sasl_username and memcache_sasl_password in settings.php. For example:
+
+$settings['memcache']['sasl'] = [
+  'username' => 'user',
+  'password' => 'password',
+];
+
+// When using SASL, Memcached extension needs to be used
+// because Memcache extension doesn't support it.
+$settings['memcache']['extension'] = 'Memcached';
+  $conf['memcache_options'] = array(
+    Memcached::OPT_BINARY_PROTOCOL => TRUE,
+  );
+  $conf['memcache_sasl_username'] = 'yourSASLUsername';
+  $conf['memcache_sasl_password'] = 'yourSASLPassword';
diff --git a/src/DrupalMemcacheFactory.php b/src/DrupalMemcacheFactory.php
index fd2ef61..6c40998 100644
--- a/src/DrupalMemcacheFactory.php
+++ b/src/DrupalMemcacheFactory.php
@@ -49,6 +49,11 @@ class DrupalMemcacheFactory {
   /**
    * @var array
    */
+  protected $memcacheSasl = array();
+
+  /**
+   * @var array
+   */
   protected $failedConnectionCache = array();
 
   /**
diff --git a/src/DrupalMemcached.php b/src/DrupalMemcached.php
index 2d3c88b..7201b0b 100644
--- a/src/DrupalMemcached.php
+++ b/src/DrupalMemcached.php
@@ -32,6 +32,12 @@ class DrupalMemcached extends DrupalMemcacheBase {
     foreach ($this->settings->get('options', []) as $key => $value) {
       $this->memcache->setOption($key, $value);
     }
+
+    // SASL configuration to authenticate with Memcached.
+    // Note: this only affects the Memcached PECL extension.
+    if ($sasl_config = $this->settings->get('sasl', [])) {
+      $this->memcache->setSaslAuthData($sasl_config['username'], $sasl_config['password']);
+    }
   }
 
   /**