Wie eine NTLM Herausforderung auf dem iPhone ausführen
Frage
Ich versuche, einige Web-Services in einer iPhone-Applikation zugreifen zu können.
Wenn ich auf die .asmx Seite GET
, ich authentifizieren und die WSDL erhalten wie erwartet.
Wenn ich jedoch auf die .asmx Seite POST
, Einstellung der Soapaction, Content-Type, Content-Length und HTTPBody, halte ich nur didReceiveAuthenticationChallenge
Nachrichten zu bekommen.
Darüber hinaus versuche ich zu IIS mit dem integrierten Windows-Authentifizierung (IWA) zu senden, was bedeutet, dass ich versuche, eine NTLM Herausforderung zu verhandeln.
Lösung
Ich fand leider meine Antwort. NSURLConnection kann nicht NTLM-Authentifizierung tun. Hier ist ein Beitrag darüber, wie die NTLM-Authentifizierung mit dem CFNetwork Stack zu tun.
HTTP Post über den CFNetwork Stapel
Haben Sie etwas noch besser als all das tediousness tun: Jemand, der hat es bereits getan
!
ASIHTTPRequest
Update: Es gibt eine Abhilfe für iOS 4 , die für die NTLM-Authentifizierung ermöglicht es erneut
Andere Tipps
Klingt für mich wie Ihre Web-Service verschiedene Lese- (get) und schreiben (post) Berechtigungen. Ich glaube nicht, dass dies ein Problem mit dem iPhone oder NSURLConnection überhaupt.