9

wcf Webサービスを使用するアプリケーションがあり、ログインに成功した後、10分のセッションをアクティブ化したいと思います。ユーザーがアイドル状態であるか、アプリが10分間バックグラウンドで動作している場合、セッションは期限切れになり、アプリはログインの詳細を再度要求する必要があります。

ユーザー名とパスワードの保存にキーチェーンを使用しましたが、機能しますが、セッションの有効期限が切れていない場合はユーザーがメインページにリダイレクトされ、セッションの有効期限が切れている場合はログインページにリダイレクトされるようにセッションを追加したいと思います...

私はこれが繰り返される質問であることを知っていますが、他の質問から適切な答えを得られないので、私はそれを書かなければなりませんでした。助けてください..

4

2 に答える 2

10

このリンクを使用してください。

NSUserDefaultを使用して、iOS用のセッションを作成します。

このチュートリアルでは、iOSでSessionも作成しました。

編集:

アプリケーションの最初のページにログイン画面があります

ログインがサーバーによる認証に成功した場合、ユーザー名とパスワードをNSUserDefaultに保存しました。次のようになります。

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     [defaults setObject:userNameText forKey:@"username"];               
     [defaults setObject:passWordText forKey:@"password"];
     [defaults synchronize];

ログインボタンをクリックします。&ダッシュボードにリダイレクトされます。

ダッシュボードの[ログアウト]ボタンは、ユーザーが[ログアウト]をクリックした場合に表示されます。このようにすべてのデータを削除します。

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults removeObjectForKey:@"username"];
    [defaults removeObjectForKey:@"password"];
    [defaults synchronize];

&ユーザーがアプリを閉じるときのその他の条件NSUSerDefaultは、その時点で2回目にアプリを開いたときに保存されます。ログインページ 中にNSUserDefaultに保存されているユーザー名パスワードを確認します。ViewDidAppear

  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    // check if user is alraidy Login
    if([defaults objectForKey:@"username"]!=nil  && ![[defaults objectForKey:@"username"] isEqualToString:@""]){
        // Redirected to Dashboard.
}

成功した場合は、ダッシュボードにリダイレクトされます。

于 2013-02-05T08:35:26.647 に答える
0

あなたはAFNetworkingフレームワークを使うことができます、それはあなたのセッションを自動保存します、私は私のAPIをテストしました、そしてそれは働きました

于 2014-01-23T07:48:25.560 に答える