Скрытие параметров строки запроса - PullRequest
0 голосов
/ 22 января 2012

У меня есть действие GET для создания записей. Поскольку страница несколько динамическая, я не использую модель для хранения данных. Я ухожу, чтобы сделать OAuth, только чтобы позже вернуться к экрану создания. Чтобы передать данные обратно, я перенаправляю строку запроса. Я анализирую строку запроса в действии GET, а затем показываю представление. Дело в том, что строка запроса отображается в браузере. Это отображает псевдочувствительные данные.

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

Иначе, есть ли способ перейти к другому действию без перенаправления? Я обнаружил, что если я вызываю «другой» метод действия напрямую, он пытается найти исходное действие. Я могу явно изменить строку return View(viewModel) на return View("create", viewModel), но это выглядит очень грязно.

Ответы [ 2 ]

2 голосов
/ 22 января 2012

Вы должны рассмотреть возможность изменения действия, чтобы принимать запросы POST.По крайней мере, это предотвратит появление конфиденциальной информации в браузере.Для дополнительной безопасности ваш сайт должен обслуживаться через SSL.

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

0 голосов
/ 22 января 2012

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

Создайте класс, расширяющий атрибут авторизации, и переопределите его метод OnAuthorization для выполнения вашей работы по авторизации.

Это освобождает ваш метод действия контроллера для приема запросов POST.

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