현재 ASP.NET MVC 프로젝트에서 작업 중이며 특이한 오류가 발생했습니다.ASP.NET MVC AntiForgeryToken 및 캐싱
ASP.NET MVC 템플릿에서 폼은 항상 AntiForgeryToken을 얻습니다 (따라서 이것이 최선의 방법이라고 생각합니다). 그러나 AntiForgeryTokens는 캐싱과 잘 작동하지 않는 것 같습니다.
예를 들어, AntiForgeryToken을 포함한 양식으로 사이트를 열고 브라우저 창을 복제 할 때 두 창 모두 양식을 게시 할 때 예외로 이어지는 정확히 동일한 AntiForgeryToken을가집니다. 캐싱을 사용하지 않도록 설정하면 ActionFilter NoCache를 통해이 문제가 발생하지 않습니다 (Disable browser cache for entire ASP.NET website 참조).
제 질문은 다음과 같을 것입니다. 문제를 해결하기 위해 캐시를 비활성화하는 것 외에 다른 방법이 있습니까?
특히 기본 ASP.NET MVC 템플릿에 AntiForgeryTokens가 포함되어 있지만 캐시를 비활성화하지 않으므로 (위에서 설명한 오류가 발생 함) 궁금합니다.
미리 감사드립니다.
코드 및 정확한 오류를 게시 할 수 있습니까? 'Html.AntiforgeryToken()'은 매번 새로운 토큰을 생성하므로 두 브라우저 창에서 다른 값을 가져야합니다. – andreister
브라우저가 두 번째 브라우저 창을 위해 서버에 쿼리하지 않고 캐시를 사용하는 경우가 아닙니다. – chrischu