是否有其他人对ASP.NET Basic Service的初始身份验证速度较慢?
当我的应用程序第一次登录时,需要大约3-4秒才能对服务器进行身份验证,之后它的速度相当快,但这个初始登录时间会中断用户。
有没有其他人有这个问题?如果是这样,你是如何解决的?该服务正在使用MVC4的WebAPI。
答案 0 :(得分: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
其中只有一些实际需要auth凭证,其中一些可以使用“NSURLAuthenticationMethodServerTrust”这样的代码跳过
if ([[challenge protectionSpace] authenticationMethod] == NSURLAuthenticationMethodServerTrust){
[[challenge sender] continueWithoutCredentialForAuthenticationChallenge:challenge];
}
这为我加速了一点。此外,移动到iOS7加速了相当多,因为它将一些NSURLConnection处理移动到操作系统中。除此之外,我无法与我的服务器管理员合作以减轻任何额外的安全性,也许你有更好的运气。