Как разработать аутентификацию в толстом клиенте, чтобы быть безопасным сбоем?

Вот вариант использования:

У меня есть настольное приложение (созданное использование Eclipse RCP), который на запуске, выталкивает открытый диалоговое окно с полями 'UserName' и 'Password' в нем. Однажды конечный пользователь, вводит его UserName и Пароль, с сервером связываются (пружинный удаленный сервлет, при этом сторона клиента является пружиной httpclient: подобный подходы здесь.), и аутентификация выполняется на стороне сервера.

Несколько вопросов связаны с вышеупомянутым сценарием:

  1. Если бы сказано эта услуга аутентификации должна была понизиться, каков был бы лучший способ обработать дальнейшие продолжения? Аутентификация - что-то, с чем я не могу покончить. Был бы, выполняя настольный клиент в "ограниченном" режиме быть хорошей идеей? Например, важные функции/меню/представления будут отключены, отдых приложения будет доступен?
  2. У меня должна быть спина услуга аутентификации, работающая на другой машине, работая резервным копированием?
  3. Каковы общие лучшие практики в этом сценарии? Я не забываю читать о механизмах Google и как это позволило бы Вам отредактировать и действительно наполняет офлайн - что-то вроде этого должно быть разработано?

Сообщите мне свои комментарии/предложения дизайна / архитектурные комментарии/предложения. Цените свою справку.

6
задан Jay 15 June 2010 в 22:20
поделиться

4 ответа

Простой ответ таков: Не позволяйте службе аутентификации выйти из строя!

Убедитесь, что ваша служба аутентификации работает в кластерной среде с балансировкой нагрузки за виртуальным IP. Таким образом, вы сможете избежать простоя в случае выхода из строя одного из отдельных серверов. Это касается не только самой службы, но и любых источников данных, на которые она опирается.

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

5
ответ дан 9 December 2019 в 22:29
поделиться

Должен ли я иметь резервную копию службы аутентификации, работающую на другой машине в качестве резервной?

Да! Это было бы лучшим решением. Проблема должна решаться ИМО на уровне сети / инфраструктуры, а не на клиенте.

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

3
ответ дан 9 December 2019 в 22:29
поделиться
  1. Если бы сказано, что эта служба аутентификации будет отключена, что будет лучший способ справиться дальше разбирательства? Аутентификация то, с чем я не могу покончить. Запустил бы настольный клиент в "ограниченный" режим - хорошая идея? Для например, важно функции / меню / просмотры будут отключены, остальная часть приложения будет доступен?

Полезен ли клиент без сервера? Есть ли что-то, что может делать пользователь? Если да, хотите ли вы, чтобы пользователь мог делать эти вещи без аутентификации? Это ответ на ваш вопрос.

Непонятно, что вы имеете в виду, когда говорите: «Аутентификация - это то, с чем я не могу избавиться». что ты имеешь в виду. Вы имеете в виду, что есть некоторые функции, требующие аутентификации пользователя, или это требование, наложенное кем-то другим, или? (Почему вы не можете с этим покончить?)

  1. Следует ли мне иметь резервную службу аутентификации, работающую на другая машина, работающая как резервное копирование?

Насколько полезен ваш клиент в описанной выше ситуации? Если это очень полезно, вы можете основывать это решение и то, сколько потратить на обслуживание резервного сервера, исходя только из того, насколько ценны только аутентифицированные функции.

Если ваше приложение бесполезно без аутентификации, тогда ваше решение о том, сколько инвестировать в резервный сервер аутентификации, зависит от того, сколько вам это будет стоить, если ваши пользователи не могут пройти аутентификацию.

  1. Каковы общие передовые практики в этом сценарии? я помню, как читал о механизмах Google и как это позволит вам редактировать и делать вещи в автономном режиме - должно что-то вроде быть спроектированным?

Если есть способ хранить полезные данные в автономном режиме, я думаю, что это хорошая идея, но я предвзято против хранения моей информации в облаке, где я не могу ее контролировать или создавать резервные копии. Чтобы развить способность работать как онлайн, так и офлайн, вместо одного из двух, потребуется время и косвенно деньги. Это суждение о том, насколько приложение ценно для ваших пользователей в автономном режиме.

1
ответ дан 9 December 2019 в 22:29
поделиться

Если сказано, что эта служба аутентификации должны были пойти вниз, что будет лучший способ справиться дальше разбирательства? Аутентификация то, с чем я не могу покончить.Запустил бы настольный клиент в "ограниченный" режим - хорошая идея? Для например, важно функции / меню / просмотры будут отключены, остальная часть приложения будет Доступен?

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

Следует ли мне использовать резервную копию аутентификации служба работает на другом машина, работающая как резервная?

На этот вопрос уже были очень хорошие ответы, хотя я не полностью согласен с dbyrne. Даже если все ваши сети и серверы могут работать нормально, простои неизбежны, и связь между настольным клиентом и сервером не всегда будет идеальной.

2
ответ дан 9 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: