2009-12-15 3 views
3

사용자 지정 데이터 개체 목록을 반복하고 페이지 형식으로 화면에 데이터를 출력합니다. 각 항목은 세부 정보 편집 (다른보기로 리디렉션) 및 데이터 제거 기능을 제공해야합니다. 이렇게하려면 업데이트 또는 삭제할 레코드를 식별하기 위해 일종의 ID를 전달해야합니다. 이 ID를 경로 값에 일반 텍스트로 포함하고 싶지는 않지만이 기능을 구현하는 방법에 대한 손실이 있습니다. 두 가지 아이디어가 있지만 둘 중 어떤 것이 실행 가능할 지 확실하지 않습니다..NET MVC + 중요한 데이터

  1. 목록이 생성 될 때마다 각 id마다 임의의 키를 만들고 sesion에 키/id 콤보를 저장하십시오. 그런 다음 경로 값에 키를 전달하고 사용자가 작업을 클릭 할 때 키를 가져올 수 있습니다. 이것은 많은 일처럼 보입니다

  2. 숨겨진 입력을 사용하여 POST를 통해 데이터를 전달할 수있는 양식의 "편집"및 "제거"옵션을 감쌀 수 있습니다. 그러나 이것은 덜 바람직한 것으로 보인다.

페이지에서 두 개 이상의 항목으로 작업 할 때보기/컨트롤러 관계에서 중요한 데이터를 활용하는 표준적인 방법이 있습니까?

답변

0

민감한 데이터가보기에 도착하기 전에 암호화하십시오. 그리고 암호화 된 값을 보내고 컨트롤러에서 해독합니다. 예 :

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를 사용할 수도 있습니다. 물론 HTTPS도 실제로 안전해야합니다.