4 Swift - Alamofire - Authentifizieren NTLM arbeitet mit ungültigen Anmeldeinformationen

stimmen
1

Ich habe ein Problem mit beglaubigen NTLM credenitals, wenn ich gültigen Anmeldeinformationen verwenden, es funktioniert, aber wenn ich ungültige Anmeldeinformationen verwende es nicht scheitern, es funktioniert als die gleichen wie wäre es mit gültigen Anmeldeinformationen. Dies ist nur dann der Fall, wenn ich gültige Anmeldeinformationen zuerst eingeben. Gibt es weg die Anmeldeinformationen zu löschen, oder was ich falsch hier? Hier ist mein Code:

func loginUser(_ username: String, password: String, completion: @escaping (_ result: Bool) -> Void)
    {

        let user = username

        let password = password

        let url = webservice

        let credential = URLCredential(user: user, password: password, persistence: .none)

        let headers = [Accept: application/json;odata=verbose, Content-type: application/json;odata=verbose]

        Alamofire.request(url, method: .get, headers: headers).authenticate(usingCredential: credential).responseJSON {
                (response) in

                print(response.result)

                switch response.result {

                case .success:
                    if let value = response.result.value {

                        completion(true)

                    }else{

                        print(There is error in the server response)

                        completion(false)
                    }

                case .failure (let error):

                    print(The NTLM request error is: , error.localizedDescription)

                    completion(false)

                }

            }

    }

Eine Sache, die ich habe bemerkt, wenn ich gültig creds eingeben, dann warten Sie ein paar Minuten und geben Sie ungültige diejenigen es wie erwartet funktioniert.

Veröffentlicht am 13/01/2020 um 23:49
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

.failureist nicht für HTTP-Fehler zurückgegeben. Sie müssen sich an den Antwortcode im .success Fall für die HTTP-Antwort suchen, die diese Auth fehlgeschlagen anzeigt.

Schau mal hier: Swift Alamofire: Wie den HTTP - Antwort - Statuscode erhalten , wie das zu tun.

Beantwortet am 13/01/2020 um 23:55
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more