diff --git a/Yesod/Auth/LDAP.hs b/Yesod/Auth/LDAP.hs
--- a/Yesod/Auth/LDAP.hs
+++ b/Yesod/Auth/LDAP.hs
@@ -31,8 +31,10 @@
 import Control.Applicative ((<$>), (<*>))
 
 data LDAPConfig = LDAPConfig {
-   -- | When a user gives username x, f(x) will be passed to Kerberos
-   usernameModifier :: Text -> Text
+   -- | When a user gives username x, f(x) will be passed to LDAP
+   usernameModifier :: Text -> Text 
+   -- | During the second bind, the username must be converted to a valid DN
+ ,  nameToDN :: Text -> String 
    -- | When a user gives username x, f(x) will be passed to Yesod
  , identifierModifier :: Text -> [LDAPEntry] -> Text
  , ldapHost :: String
@@ -98,7 +100,8 @@
             mr <- getMessageRender
             errorMessage $ mr PleaseProvidePassword
         (Just u , Just p ) -> do
-          result <- liftIO $ loginLDAP (usernameModifier config u) 
+          result <- liftIO $ loginLDAP (usernameModifier config u)
+                                       (nameToDN config u)
                                        (unpack p)
                                        (ldapHost config)
                                        (ldapPort' config)
diff --git a/yesod-auth-ldap.cabal b/yesod-auth-ldap.cabal
--- a/yesod-auth-ldap.cabal
+++ b/yesod-auth-ldap.cabal
@@ -1,5 +1,5 @@
 name:            yesod-auth-ldap
-version:         0.0.1.1 
+version:         0.0.2
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Litchard 
@@ -29,7 +29,7 @@
                    , hamlet                  >= 0.10      && < 0.11
                    , yesod-form              >= 0.4       && < 0.5
                    , transformers            >= 0.2.2     && < 0.3
-                   , authenticate-ldap       == 0.0.1
+                   , authenticate-ldap       == 0.0.2
 
     exposed-modules: Yesod.Auth.LDAP
     ghc-options:     -Wall
