2012-02-06 9 views
0

私はXcode 4.2でiPad用のアプリケーションを開発していますが、私はMySQLデータベースでユーザーを認証します。私は、ログインしたユーザーを追跡するためのベストプラクティス何思ったんだけどiOSアプリのログインのベストプラクティスですか?

を私は例えば、私AppDelegateで変数を行うことができます。

@interface beAppDelegate : UIResponder <UIApplicationDelegate>{ 
    BOOL *loggedin; 
} 
- (void)setLoggedin:(BOOL *)newLoggedin; 

とtrueにその値を設定します正しいユーザ名とパスワードが入力されていますか?

または、ユーザーがログインしているという事実を保存するためにplistを使用する必要がありますか?

誰かが私に最も安全な方法を教えてくれますか?

答えて

-2

ベストプラクティスは、既にこれを行っているオペレーティングシステムに依存し、ログイン用に独自のUIを提示しないようにすることです。

iOSには既に画面のロックを制御し、ファイルやキーチェーンのストレージを保護するための認証メカニズムが組み込まれています。ユーザーは、複雑な複雑さのパスコードを設定することができます(または、IT部門はそのUIを提示することができます)。このプロセスではPBKDF2を使用して機密ストレージにアクセスするための復号鍵を生成するので、パスコードを使用しなくてもiOS全体およびオフライン攻撃でこのストレージは使用できなくなります。あなたのシステムがこれをすべて複製しない限り、悪い実装を提供する努力は少なくなっています。そのすべてを複製すれば、既に利用可能だったバグのあるバージョンを提供するために多くの努力を払ってきました。

しかし、それよりも悪い:複数のログイン要求を提示するというユーザーエクスペリエンスも考慮する必要があります。あなたのアプリは真空でを使用していません:顧客は、電子メールやメッセージングアプリケーションを含め、デバイス上にさまざまなアプリを持っています。彼らがの機密性を心配している場合は、その情報のすべてで保護するようにiOSパスワードを設定することができます。また、あなたのアプリのパスワードプロンプトが不必要になり、迷惑になります。逆に、機密性が心配されていない場合は、パスコードを設定せず、アプリのパスワードプロンプトが予期せぬ、不必要な、迷惑なものになります。

+0

あなたの答えをありがとう、情報は非常に徹底的です。私は、内蔵の認証メカニズムのためのグーグルを試みたが、私はそれについての例や多くの情報を見つけることができません。あなたに私の事例や文書がありますか?それは私を助けてくれるでしょう。 – user1026090

+0

私はロック画面を意味します。アプリケーションで使用するための組み込み関数はありません(上で説明したように、これは必須ではないためです)。作成するファイルに正しい 'NSFileProtection'または' NSDataWritingFileProtection'フラグを使用し、パスワードのような秘密をキーチェーンに保存してください。 iOSは残りの部分を処理します。 –

+0

しかし、アプリケーションにキーチェーンを実装するにはどうしたらいいですか?アプリケーションからキーチェーンにアクセスする例は見つかりません – user1026090

関連する問題