func handleNotFound(w ldap.ResponseWriter, r *ldap.Message) { switch r.GetProtocolOp().(type) { case ldap.BindRequest: res := ldap.NewBindResponse(ldap.LDAPResultSuccess) res.DiagnosticMessage = "Default binding behavior set to return Success" w.Write(res) default: res := ldap.NewResponse(ldap.LDAPResultUnwillingToPerform) res.DiagnosticMessage = "Operation not implemented by server" w.Write(res) } }
// 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 (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)) }
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) }
// handleBind return Success for any login/pass func handleBind(w ldap.ResponseWriter, m *ldap.Message) { res := ldap.NewBindResponse(ldap.LDAPResultSuccess) w.Write(res) return }