우리는 ASP.NET MVC4 웹 응용 프로그램을 보유하고 있으며 QA 환경에서 동일한 웹 사이트에 다른 "사이트"를 웹 응용 프로그램으로 설정합니다.ASP.NET MVC AuthorizeAttribute 승인되지 않은 구매자 허용
모든 쿠키www.mysite.co.uk/WebApp1
www.mysite.co.uk/WebApp2
www.mysite.co.uk/WebApp3
, 우리는 쿠키 키가 특정 웹 응용 프로그램에 그 쿠키를 묶어 ID가 포함되어 있는지 확인, 그래서 교차 오염이 없다.
이제이 모든 것이 완벽하게 잘 작동합니다. 그러나 매우 가끔 DEV 환경에서는 GUEST 구매자 (인증되지 않음)가 [Authorize] 속성으로 표시된 컨트롤러의 Action 메소드에 액세스 할 수 있습니다. 여기
내 추측 브라우저가 다른 웹 응용 프로그램에 여러 탭이있는 각각의 포인팅을 사용하고 있으며, 때때로 브라우저/서버가있는 ASPXAUTH 쿠키를 통해 사용하는 혼란지고,과에서 하나를 사용하고 있다는 점이다 인증 된 구매자를위한 다른 웹 애플리케이션. 앞에서 말했듯이 이것은 단지 추측이지만 사이트를 디버깅하여이 속성으로 보호 된 코드에서 확실히 중단 점을 치고 있습니다.
이 시점에서이 동작을 어떻게 막을 수 있는지 명확하지 않습니다.
감사
그리피스 모든 쿠키
'모든 쿠키에 대해 쿠키 키에 특정 웹 응용 프로그램의 쿠키를 연결하는 ID가 포함되어 있으므로 교차 오염이 발생하지 않습니다. '- 귀하의 질문에서 어떻게 작동하는지 정확하게 확장 할 수 있습니까? 이것이 올바르게 작동하면 잘못된 사이트에서 승인해서는 안됩니다. – SilverlightFox
이것은 우리가 우리의 응용 프로그램에서 관리하는 쿠키를 참조합니다. ASPXAUTH 쿠키는 우리의 통제 범위를 벗어났습니다 (저는 믿습니다). 그래서 애플리케이션이나 사이트에만 묶여 있는지 알 수 없습니다. 사이트라면 응용 프로그램에 묶을 수 있습니까? – DrGriff
'ASPXAUTH' 내부에 저장된 암호화 된 토큰에 ID를 추가하고이 요청을 확인하거나 토큰을 사이트마다 다른 키로 암호화 할 수 있습니다.DEV 환경 내에서 공존 할 수 있도록이 쿠키에 대한 사용자 정의 이름이 있어야합니다. – SilverlightFox