最初成功身份验证后,使用错误的凭据访问



i使用凭据登录到服务器,这些凭据在request参数中传递:https://server.i.connect.to/login&username=user&password=pass。如果凭据正确,则所有功能都很好。如果我将凭据更改为无效的事物,则reponse从DataTask返回是相同的 - 尽管传递的凭据无效,但我获得了访问。我不知道这种行为是在客户端(我的(侧还是在服务器端触发的。另外,我不知道如何检查哪一方负责。

我试图禁用URL缓存,但没有运气。我仍然能够用错误的信用登录。

let urlSessionConfig = URLSessionConfiguration.default
urlSessionConfig.requestCachePolicy = .reloadIgnoringLocalAndRemoteCacheData
urlSessionConfig.urlCache = nil
let testSession = URLSession.init(configuration: urlSessionConfig)
let task = testSession.dataTask(with: request) { data, response, error in
...

当我重新启动应用程序并首先尝试错误的凭据时,会拒绝访问(因此基本代码是正确的(。如果我更改为纠正凭据,则将授予访问权限。返回错误的凭据,然后仍然可以访问。因此,从好的凭据到不良的证书只是一种方法,它无法正常工作。

我也尝试了...

urlSessionConfig.requestCachePolicy = .reloadRevalidatingCacheData

...没有更改!

我的缓存相关代码上方是错误的,还是该行为的来源是什么?

@user3344236在正确的方向上踢了我,我设法通过(始终((始终(执行登录来解决问题,然后在logout .datatask的完成代码内进行登录。这似乎现在正常工作!

我对缓存问题的假设显然是错误的。

相关内容

最新更新