로그인 리디렉션 URL에 쿼리 문자열 매개 변수가 추가되는 프로덕션 응용 프로그램에서이 문제가 발생합니다. 이를 재현하려면 MVC2와 MVC3 R2로 테스트 한 새로운 MVC 프로젝트를 생성하십시오. HomeController
에서 다음과 같은 작업을 추가로그인 URL에 원치 않는 매개 변수를 추가하는 ASP.NET MVC UnauthorizedResult
public ActionResult Break()
{
return new HttpUnauthorizedResult();
}
시작 응용 프로그램 및 /home/break?a=1&b=2
을 기록했다. 그래서 자연스럽게 /Account/LogOn?ReturnUrl=/home/break%3fa%3d1%26b%3d2
로 리디렉션해야하지만 실제로뿐만 아니라 URL의 끝에 요청 매개 변수 (&a=1&b=2
)를 추가합니다
왜 이런 일이? ReturnUrl
의 인코딩 된 URL에 필수 매개 변수가 있으므로 이러한 매개 변수를 추가 할 필요가 없습니다. 프로덕션 응용 프로그램에서 뭔가있을 거라고 생각했지만 위의 단계를 수행하면 기본 MVC 응용 프로그램도이를 재현합니다. 이 문제를 해결하는 방법에 대한 의견을 보내 주시면 감사하겠습니다.
감사합니다. 생각하기에 이제는 처음부터 매우 호기심이 생겼습니다. 나는 의도적으로이 일을 남겨 둘 것이다. – TheCloudlessSky