オフラインで作業する必要のあるWebアプリケーションを構築しています。このシステムは、販売取引を取得するために構築されています。 「オフライン」部分の大部分はかなり簡単です。データをローカルに保存し、ネットワークに戻ったときに同期するだけです。ここまでは順調ですね。オフラインWebアプリケーションでのユーザー認証
問題は認証にあります。このアプリケーションは、単一のOSユーザーアカウントを持つ共有マシン上で実行されます。オフラインの場合、ユーザーを認証するにはどうすればよいですか?
ユーザー自身には、私が分離する必要がある(つまり、クライアント上でそれらを互いに保護する必要がない)プライベートデータがありません。私は自分のパスワードを検証できるようにする必要があるので、接続が切断されても、毎日異なるユーザーにログインさせることができます。
私が考えているアプローチの1つは、IndexedDBのクライアント側でパスワードハッシュをキャッシュすることです。限られたユーザーだけが特定の共有マシンからのログインを許可されるため、パスワードデータベース全体をローカルにキャッシュする必要はありません。私は適切なパスワードポリシー(複雑さと有効期限の要件)があると仮定し、ハッシュ自体は安全です(bcrypt)、ちょうどアイデアの恐怖はこれですか?
他にもオプションがありますか?
私はパスワードの有効期限が有益であるよりも有害である可能性がありますからhttp://www.cryptosmith.com/node/218あなたがあなたのデータベースを公開している場合はそうではないかもしれませんが。 –