2011-12-19 11 views
1

私は、認証のためにWebサービスを使用するアプリケーションを開発中です。一度認証されると、このデータを取得するために石鹸呼び出しを介していくつかの他のメソッドを要求します。 2回目のロギングを除いて、これはすべて正常に動作しています。IOSアプリケーションとキャッシングでWebサービスを使用しています

アプリが初めて実行されたときに、自分のテキストフィールドからuser/passを送信してログインすることができます。アプリからログアウトすると、ログイン画面が再び表示されます。今回は同じユーザー名を使用しましたが、正しいパスワードの代わりに偽のパスワードを入力してもログインできます。私は一連のNSLogステートメントを作成して何が起こっているのかを追跡し、新しいユーザー/パス変数が送信されるのを見ますが、この接続がキャッシュされているかのように、パスワードフィールドで何を送信しているかは関係ありません今回。

アプリのサンドボックスに保存されているtmpファイルが削除され、問題が解決するかどうか確認してください。私は物事がキャッシュされていると思うし、この時点で私はサーバー側および/またはローカルtmpファイルを見て始めています。

また、私の石鹸のヘッダーを変更してno-cacheディレクティブを変更して送信しようとしましたが、それについてもっと研究する必要があります。

ありがとうございます!

+1

たぶん認証はクッキーベースのですか?これが当てはまる場合は、ログアウトするときにクッキーを無効にする必要があります(あなたまたはリモートサービス - 通常は後者)。 – Till

+0

@私はバックエンドメソッドを書いていませんでした。私はこれを今見つけようとしています。私が知ると、私はこのコメントに追加します。 – tg2007

+0

Webサーバーのログファイルでhttp:// 401の応答が表示されるため、ログやアプリケーションに異なる応答が表示されているので、間違いなく自分の側にいるようです。 401はエラーです。成功すると200が返ってきます。NSURLRequestにはまだ古いデータがあり、これを新しいリクエストの代わりに使用しているように見えます。私は今この接続を解放/破壊する方法を見つけようとしています。 – tg2007

答えて

0

私はHTTP認証メソッドを使って石鹸呼び出しを渡していたので、私の認証がキャッシュされていたことが分かります。 NSURLMutableRequestで送信していたものがキャッシュされているため無視されました。私は問題を解決するこの記事に出くわしました。ここでは、この記事を書くためのヨハネスFahrenkrugへ

ありがとう: http://www.springenwerk.com/2008/11/i-am-currently-building-iphone.html

関連する問題