2010-01-25 2 views
0

저는 제가 구축 한 CMS를 리팩토링하고 있습니다. CMS에는 선택한 로켈을 기반으로 페이지를 편집 할 수있는 기능이 있습니다. CMS의 사용자가 편집하려는 페이지를 탐색하는 동안 세션에서이 선택된 로케일을 유지합니다.로케일을 세션에 보관 하시거나 양식과 함께 보내시겠습니까?

지금 내 질문은 다음과 같습니다.
사용자가 페이지를 편집하고 변경 사항을 제출하려는 경우 제출할 양식에 숨겨진 필드로 로케일을 포함시켜야한다고 생각합니까? 그냥 안전한쪽으로있어? 아니면 세션에있는 로케일에 의존해야합니까?

답변

2

예, 사용자가 페이지를 편집하는 동안 로케일을 변경할 수 있으므로 항상 게시해야합니다. 그 결과 페이지가 다른 로켈의 내용으로 덮어 쓰게됩니다.

사용자가 자신의 로케일 외부에서 페이지를 편집 할 수없는 경우 사용자가 지정된 페이지/로캘 조합을 편집 할 수 있는지 여부를 추가로 확인해야합니다 (세션을 통과 할 때 위조 할 수 있기 때문에).

1

뒤로 버튼의 동작을 원하는대로 다릅니다.

사용자가 몇 페이지를 방문한 다음 다른 지역을 선택한 다음 다시 방문하는 경우 뒤로 버튼을 사용하여 로케일 변경을 으로 취소 하시겠습니까?

  • 그래서
  • 그렇지 않으면 숨겨진 필드 또는 쿼리 문자열에 저장 (쿠키에 의해 색인되는 쿠키 나 데이터 저장소 (예 : 세션 상태)

에 저장하는 경우 북마크 페이지 (즐겨 찾기)에 로케일을 기억 시키려면 URL에 (일반적으로 쿼리 문자열로) 저장해야합니다.

0

로케일 전환을 원하지 않는 경우 Pekka가 제시 한대로, 요청에서 로케일을 결정할 수 있습니다. 브라우저는 요청할 때마다 해당 정보를 귀하에게 보냅니다.

요청의 값을 세션의 값과 비교하여 변경 사항을 감시합니다. 변화를 다루기 위해 사용하는 논리는 당신에게 달려 있고 유연합니다.

선택 언어가 확실하지 않지만 ASP.NET의 경우 HttpRequest.UserLanguages 속성에서 언어를 가져올 수 있습니다.