Работа в контексте приложения ASP.NET Я создаю страницу, которая сможет выполнять сценарии базы данных для одной из многих баз данных в нашей среде. Для этого нам нужно запросить у пользователя комбинацию имени пользователя и пароля, это значение можно использовать для всех серверов без проблем.
Вопрос в том, где находится наиболее безопасное место для хранения этой информации? Мы должны хранить его временно, так как когда они находятся на этой конкретной странице, они могут выполнять сотни сценариев через несколько обратных передач. Из того, что я могу сказать, у меня есть 3 варианта, и я не уверен, что является лучшим. Ниже я расскажу об опциях, какова рекомендация всех здесь? Что является наиболее безопасным, но при этом дружественным для пользователя?
Информация о магазине в Viewstate
Одной из первых идей, которые мы обсуждали, было сохранение информации после ее предоставления пользователем в ViewState для страницы. Это полезно, поскольку информация будет существовать только на протяжении всего срока действия страницы, однако мы не уверены в последствиях для безопасности.
Сохранение информации в сеансе
Следующая идея, которая у нас возникла, заключалась в том, чтобы сохранить ее в сеансе, однако недостатком этого является то, что информацию можно сделать доступной для других страниц приложения, и эта информация всегда остается в памяти на сервере.
Информация о магазине в приложении
Последняя идея, которая у нас была, заключалась в том, чтобы сохранить ее в кеше приложения с пользовательским ключом и скользящим 5-минутным сроком действия. Это все еще будет доступно для других страниц, однако, это обеспечит кэширование информации в течение более короткого периода.
Почему?
Последний важный вопрос: «Зачем ты это делаешь?». Почему бы нам просто не использовать их идентификаторы Lan? Ну, мы не можем использовать идентификаторы локальной сети из-за отсутствия сетевой поддержки для делегирования.
S0, какое рекомендуемое решение? Зачем? Насколько это безопасно, и мы можем быть?
Обновление
Обширная информация обсуждалась. Чтобы уточнить, мы работаем в среде интрасети, мы не можем использовать олицетворение или делегирование из-за ограничений в сети.