Я разрабатываю приложение, которое потребует от пользователей первого входа в систему, а затем доступа к нескольким защищенным веб-страницам. Я планирую использовать AWS вместе с балансировщиком нагрузки AWS и ожидать, что несколько экземпляров AWS этого приложения будут запущены. Какова «наилучшая практика» для сохранения учетных данных безопасности на нескольких веб-страницах и нескольких экземплярах? Пользователь войдет в систему, а затем перейдет через несколько защищенных веб-страниц. Я предполагаю, что балансировщик нагрузки AWS будет циклически перенаправлять каждый запрос https на другой экземпляр сервера. Как каждый экземпляр знает, что пользователь успешно вошел в систему? Кроме того, как защитить защищенные страницы от внешнего доступа? Платформа будет Linux, Java и Spring-boot.Доступ к паролю с несколькими экземплярами
ответ
Я предполагаю, что балансировщик нагрузки AWS будет циклически перенаправлять каждый запрос на другой экземпляр сервера.
Это поведение ELB по умолчанию, но вы можете включить sticky sessions на Elastic Load Balancer, чтобы заблокировать пользователя к определенному внутреннему серверу, на котором указать HTTP сессии, хранящуюся на этом одном сервере отслеживает пользователя состояние аутентификации.
Как каждый экземпляр знает, что пользователь успешно вошел в систему?
Это не так, если вы не настроили какой-либо общий хранилище сеансов. Я предпочитаю использовать Redis (ElastiCache) в качестве общего хранилища сеансов. Конечно, если вы включите липкие сеансы в ELB, что может помешать необходимости совместного хранилища сеансов.
Также, как защитить защищенные страницы от внешнего доступа? Платформа будет Linux, Java и Spring-boot.
Это не особенность AWS. Вам нужно будет добавить безопасность в ваше приложение. Посмотрите на Spring Security.
- 1. jQuery: доступ к элементу из объекта с несколькими экземплярами класса
- 2. Доступ к первичным ключам с несколькими экземплярами рекомбинированных баз данных
- 3. Доступ к паролю из поля безопасным способом
- 4. Доступ к паролю пользователя в API DNN
- 5. доступ к паролю пользователя в asp.net
- 6. Телефонные звонки с несколькими экземплярами
- 7. ELB с несколькими экземплярами ENI
- 8. с несколькими экземплярами объектов javascript
- 9. Caliburn.Micro EventAggregator с несколькими экземплярами
- 10. Сканирование с несколькими экземплярами EC2
- 11. Единая база данных с несколькими экземплярами Django
- 12. сельдерей с несколькими экземплярами django
- 13. Скрепка с несколькими экземплярами сервера
- 14. редактирование inlineformset_factory с несколькими экземплярами
- 15. Valums fileuploader с несколькими экземплярами
- 16. Проблема с несколькими экземплярами функции
- 17. Проблемы с несколькими экземплярами dropzone
- 18. PHP-файл с несколькими экземплярами одного файла
- 19. как получить доступ к паролю, отправленному с формой?
- 20. Получить доступ к паролю базы данных .mdb с помощью C#
- 21. Использование зависимостей свойств с несколькими экземплярами
- 22. Проблема с железом Django с несколькими экземплярами
- 23. пароль доступа к паролю каталог
- 24. Обмен данными между несколькими экземплярами
- 25. Microservice Event с дизайном с несколькими экземплярами
- 26. Подключение к SQL-серверу с несколькими экземплярами без указания экземпляра
- 27. Задание задач за несколькими экземплярами
- 28. Delphi: Управление несколькими экземплярами TFrames
- 29. Управление несколькими экземплярами программы - открыть проблему с несколькими файлами
- 30. Использование NLog с несколькими экземплярами приложения
Здравствуйте, Марк, я полагаю, что я могу использовать IP-адрес пользователей как ключ и уникальную авторизацию безопасности приложения в качестве значения? Я могу использовать функцию истечения срока действия Redis, чтобы в конечном итоге удалить пару значений ключа, если пользователь не выходит из системы. Это будет ваш подход? – skmansfield
Нет, это не тот подход, который я бы взял вообще. Вы пытаетесь запустить свою собственную систему безопасности, когда эта проблема уже решена для вас. Также использование IP-адреса - ужасная идея, поскольку нет гарантии, что каждый пользователь будет иметь уникальный IP-адрес. Вам нужно изучить Spring Security и использовать диспетчер сеансов Tomcat, который использует Redis, поскольку он является хранилищем. Вы не должны пытаться самостоятельно управлять сеансами пользователя. –
Привет, Марк, Отличный ввод. Можете ли вы дать мне пару имен компонентов безопасности, на которые я должен смотреть? Весенняя документация является объемной. Тем не менее, он имеет тенденцию сосредотачиваться больше на процедуре, чем большая картина. Я хочу понять компоненты интереса и получить большую картину. – skmansfield