2017-05-08 1 views
0

asp.net 핵심 웹 응용 프로그램을 개발 중입니다. 사용자 인증을 위해 ID를 사용합니다. 세션이 만료되면 사용자가 로그인보기로 리디렉션됩니다. 그런 다음 사용자는 로그인 양식을 제출하려고하고, 때로는이 예외를 appeares : 문제없이.net.core 웹 응용 프로그램에서 Antiforgery 토큰을 암호 해독 할 수 없습니다.

Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgeryTokenSerializer. 
The antiforgery token could not be decrypted. 

그러나 사용자 캔 logg 여관을 그 페이지를 다시로드하고 다시 양식을 제출하려고합니다.

로컬 컴퓨터의 동일한 웹 사이트에서이 문제가 발생하지 않습니다.

동일한 양식으로 두 번 적용되는 위조 방지 토큰을 읽었으나이 감정을 초래할 수 있지만 토큰이 하나 뿐이므로 확인했습니다.

다른 제안은

<machineKey decryptionKey="Decryption key goes here, IsolateApps" 
       validationKey="Validation key goes here, IsolateApps" /> 
    </system.web> 

this 문서에서 discribes와 상황이 광산과 유사를 사용하는 것이 었습니다. 하지만 기사는 2013 년부터 오래된 것입니다. 그래서 asp.net 핵심이 사용할 수 있는지 잘 모르겠습니다. 사람들은이 방법은 asp.net 코어에서 작동하지 않는다고 말했다. 나는 asp.net 코어에서 문제를 해결할 수있는 다른 제안을 찾지 못했습니다. 어쩌면 누군가가 똑같은 문제를 가지고 나를 도울 수 있습니까?

답변

1

로컬 컴퓨터의 동일한 웹 사이트에서이 문제가 발생하지 않습니다.

응용 프로그램을 여러 대의 컴퓨터에 배포하고 있습니까? 그러면 기계 키를보고 올바른 방향으로 가고 있습니다. 문제는 다른 웹 서버가 다르게 암호화하고 해독한다는 것입니다.

이 문서에서는 ASP.NET 코어와 데이터 보호 기능을 설명합니다 https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/introduction

어떤 데이터 보호 사용자 환경에 따라 달라집니다 선택 제공.

+0

안녕하세요. 도와 줘서 고맙다. 우리는 보통 호스팅을 사용합니다. 우리는 웹 팜을 사용하지 않습니다. 내 로컬 컴퓨터에도이 웹 사이트가 있습니다. 그래서 컴퓨터 키를 사용할 수 있습니까? 아니면 데이터 보호를 사용해야합니까? 나는 무엇을 선택해야합니까? – Angy

관련 문제