Являются ли эти требования к веб-приложениям реалистичными? - PullRequest
3 голосов
/ 21 декабря 2011

Наш клиент хочет веб-приложение ASP.NET с управлением пользователями и различными ролями, но имеет некоторые очень странные условия:

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

Для меня это, вероятно, означает:

  • Я не могу использовать любой тип кэширования.
  • Я не могу использовать файлы cookie любого типа.
  • Я не могу ничего сделать важнее параметров GET.
  • Я должен быть очень осторожен с сессиями.

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

Является ли это реалистичным требованием и что я должен учитывать при реализации приложения с такими требованиями безопасности?

Это никогда не было проблемой с приложениями, которые я разработал ранее, поэтому я не совсем уверен, как с этим справиться.

Ответы [ 4 ]

4 голосов
/ 21 декабря 2011

Являются ли эти требования к веб-приложениям даже реалистичными?

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

Некоторые другие пункты

Я не могу использовать любой тип кэширования.

Нет в сетиНет, но кэширование сеанса в порядке.

Я не могу использовать файлы cookie любого типа.

За исключением файлов cookie сеанса нет

Я не могу делать ничего важного с параметрами GET.

Да

Я должен быть очень осторожен с сессиями.

Этоэто, наверное, всегда хорошая идея.

2 голосов
/ 21 декабря 2011

Пока вы используете сеансы (предоставляются по умолчанию в ASP.Net), все будет в порядке. Просто убедитесь, что пользователи вышли из системы или обеспечили достаточно короткий автоматический выход из системы.

1 голос
/ 21 декабря 2011

Пока вы не планируете использовать встроенную проверку подлинности Windows, требования не так уж и плохи. Если вы используете проверку подлинности Windows, то нет, вы не сможете реально выполнить требование № 2, не добавив проблем с юзабилити.

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

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

0 голосов
/ 21 декабря 2011

Да, эти требования очень реалистичны. Фактически вы должны учитывать их для каждого приложения ASP.NET.
Вы должны убедиться, что у вас есть правильное управление сеансами и файлами cookie, кэширование сеансов и использование поставщиков членства и ролей (пользовательских или встроенных) в вашем приложении.
Конечно, ранее зарегистрированный пользователь должен был выйти из системы, или вы можете принудительно выйти из системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...