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