.NET MVC + конфиденциальные данные - PullRequest
3 голосов
/ 15 декабря 2009

Я перебираю Список пользовательских объектов данных и выводю данные на экран в формате с возможностью просмотра. Каждый элемент должен предлагать возможность редактировать детали (перенаправление в другое представление) и удалять данные. Чтобы сделать это, мне нужно будет передать некоторый идентификатор, чтобы идентифицировать запись, которая будет обновлена ​​или удалена. Я не хочу включать этот идентификатор в виде обычного текста в значения маршрута, но затрудняюсь реализовать эту функцию. У меня есть две идеи, но я не уверен, что любая из них будет жизнеспособной.

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

  2. Оберните параметры «редактировать» и «удалить» в форму, где я могу использовать скрытый ввод для передачи данных через POST. Однако это кажется менее желательным.

Существует ли какой-либо стандартизированный способ использования конфиденциальных данных в отношениях View / Controller, когда я работаю с несколькими элементами на странице?

1 Ответ

0 голосов
/ 22 декабря 2009

Просто зашифруйте конфиденциальные данные, прежде чем они попадут в поле зрения. И отправьте зашифрованное значение и расшифруйте на контроллере. Пример:

public ActionResult RenderPage()
{
   CustomerInformation customerInformation = CustomerInformation.GetCurrentCustomer(); 
   customerInformation.SocialSecurityNumber = MyNamespace.Utilities.Encrypt(customerInformation.SocialSecurityNumber);
   return View(customerInformation);
}

и в ответе вы можете сделать это.

public ActionResult SubmitData(CustomerInformation customerInformation)
{
   customerInformation.SocialSecurityNumber = MyNamespace.Utilities.Decrypt(customerInformation.SocialSecurityNumber);
   return View();
}

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

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