// handleBind return Success if login == mysql func handleBind(w ldap.ResponseWriter, m *ldap.Message) { r := m.GetBindRequest() res := ldap.NewBindResponse(ldap.LDAPResultSuccess) if string(r.Name()) == "login" { w.Write(res) return } log.Printf("Bind failed User=%s, Pass=%s", string(r.Name()), string(r.AuthenticationSimple())) res.SetResultCode(ldap.LDAPResultInvalidCredentials) res.SetDiagnosticMessage("invalid credentials") w.Write(res) }
func handleBind(w ldap.ResponseWriter, m *ldap.Message) { r := m.GetBindRequest() res := ldap.NewBindResponse(ldap.LDAPResultSuccess) if string(r.GetLogin()) == "myLogin" { w.Write(res) return } log.Printf("Bind failed User=%s, Pass=%s", string(r.GetLogin()), string(r.GetPassword())) res.ResultCode = ldap.LDAPResultInvalidCredentials res.DiagnosticMessage = "invalid credentials" w.Write(res) }
func handleBind(w ldap.ResponseWriter, m *ldap.Message) { r := m.GetBindRequest() res := ldap.NewBindResponse(ldap.LDAPResultSuccess) if r.AuthenticationChoice() == "simple" { if string(r.Name()) == "login" { w.Write(res) return } log.Printf("Bind failed User=%s, Pass=%#v", string(r.Name()), r.Authentication()) res.SetResultCode(ldap.LDAPResultInvalidCredentials) res.SetDiagnosticMessage("invalid credentials") } else { res.SetResultCode(ldap.LDAPResultUnwillingToPerform) res.SetDiagnosticMessage("Authentication choice not supported") } w.Write(res) }
func (t *testLDAPServer) handleBind(w ldapserver.ResponseWriter, m *ldapserver.Message) { r := m.GetBindRequest() // Record the request t.BindRequests = append(t.BindRequests, r) dn := string(r.GetLogin()) password := string(r.GetPassword()) // Require a non-empty username and password if len(dn) == 0 || len(password) == 0 { w.Write(ldapserver.NewBindResponse(ldapserver.LDAPResultUnwillingToPerform)) return } // Require the DN to be found and the password to match expectedPassword, ok := t.Passwords[dn] if !ok || expectedPassword != password { w.Write(ldapserver.NewBindResponse(ldapserver.LDAPResultInvalidCredentials)) return } w.Write(ldapserver.NewBindResponse(ldapserver.LDAPResultSuccess)) }