1

是否有人对针对 ASP.NET 基本服务的初始身份验证速度慢有疑问?

当我的应用程序第一次登录时,大约需要 3-4 秒来对服务器进行身份验证,之后它非常快,但是这个初始登录时间会扰乱用户。

还有其他人有这个问题吗?如果是这样,您是如何解决的?该服务使用 MVC4 的 WebAPI。

4

1 回答 1

1

我遇到了这个问题,我发现它在第一次连接时进行了多次身份验证。

在您的 willSendRequestForAuthenticationChallenge 方法中,添加它以查看在您进行第一次连接调用时执行的身份验证类型或数量。

NSLog(@"%@",[[challenge protectionSpace] authenticationMethod]);

我发现有多个像这样的身份验证:

2013-11-30 11:31:42.181 AppName[1529:70b] NSURLAuthenticationMethodServerTrust
2013-11-30 11:31:50.921 AppName[1529:70b] NSURLAuthenticationMethodNTLM

只有其中一些实际上需要身份验证凭据,其中一些可以使用类似“NSURLAuthenticationMethodServerTrust”的代码跳过

if ([[challenge protectionSpace] authenticationMethod] == NSURLAuthenticationMethodServerTrust){
    [[challenge sender] continueWithoutCredentialForAuthenticationChallenge:challenge];
}

这对我来说加快了一点。此外,迁移到 iOS7 加快了速度,因为它将一些 NSURLConnection 处理移到了操作系统中。除此之外,我无法与我的服务器管理员合作来减轻任何额外的安全性,也许你有更好的运气。

于 2013-11-30T18:33:43.800 回答