首页 > 解决方案 > 总是在get方法中登录成功

问题描述

我有一个身份验证登录代码,但我的编码总是让我成功登录,即使我使用的用户名和密码不正确。我的编码错误在哪里?

这是我的代码

    let username = self.txtUsername.text
    let password = self.txtPassword.text
    let loginString = NSString(format: "%@:%@", username!, password!)
    let loginData: Data = loginString.data(using: String.Encoding.utf8.rawValue)!
    let base64LoginString = loginData.base64EncodedString(options: [])

    let parameters = [
        "username": txtUsername.text!,
        "password": txtPassword.text!
    ]

    Alamofire.request(URL_USER_LOGIN, method: .get, parameters:parameters, encoding: URLEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in

        switch(response.result) {
        case .success(_):
            if let data = response.result.value{
                let Main1VC = self.storyboard?.instantiateViewController(withIdentifier: "MainVC") as! MainVC
                self.navigationController?.pushViewController(Main1VC, animated: true)
                self.dismiss(animated: false, completion: nil)
                print("success for login")
            }
            break

        case .failure(_):
            //print(response.result.error)
            print("failed to login")
            break

        }
    }

如果它是错误的,我从 url 收到的这个回复

{
  "success": false,
  "msg": "Email / ID Finger Tidak Terdaftar"
}

如果正确,我从网址收到的这个回复

{
  "success": true,
  "msg": "Sukses"
}

标签: swiftswift3loginalamofire

解决方案


  let data = response.result.value
  self.presentWindow.hideToastActivity()
  if let response = data as? [String: AnyObject] { 
       let success = response["success"] as? Bool
       if success {
          let Main1VC = self.storyboard?.instantiateViewController(withIdentifier: "MainVC") as! MainVC
            self.navigationController?.pushViewController(Main1VC, animated: true)
            self.dismiss(animated: false, completion: nil)
            print("success for login")
       } else{
            print("Failed for login")
        }
   }

推荐阅读