Аутентификация пользователей в автономных веб-приложениях

Я создаю веб-приложение, которое должно работать в автономном режиме. Система построена для сбора данных о продажах. Основная часть "автономной" части довольно проста - мне просто нужно хранить данные локально и синхронизировать их, когда я вернусь в сеть. Пока все хорошо.

Проблема заключается в аутентификации. Приложение будет работать на общей машине с одной учетной записью пользователя ОС. Если я буду находиться вне сети, как мне аутентифицировать пользователя?

Сами пользователи не имеют приватных данных, которые мне нужно будет разделить (т.е. мне не нужно защищать их друг от друга на клиенте). Мне нужно иметь возможность подтвердить их пароль, чтобы я мог позволить разным пользователям входить в систему в течение дня, даже если соединение не работает.

Один из подходов, о котором я думаю, предполагает кэширование хэшей паролей на стороне клиента в индексированной базе данных. Только ограниченному набору пользователей будет разрешено входить в систему с определенной общей машины, поэтому мне не нужно будет кэшировать всю базу данных паролей локально. Предполагая, что у меня есть хорошая политика паролей (требования к сложности и сроку действия), а сами хэши безопасны (bcrypt), насколько ужасной является эта идея?

Есть ли у меня другие варианты?

15
задан Ragesh 24 October 2011 в 17:49
поделиться