을 사용하여 자동으로 사용자를 로그인 페이지로 리디렉션합니다. Asp.Net 페이지에서 AJAX 요청을 사용하여 호출되는 여러 웹 서비스가 있습니다. 사용자의 승인이 실패하면 로그인 페이지로 리디렉션하고 싶습니다.은 오류 코드
내가 직면하고있는 문제는 AJAX 요청의 errorHandler 기능에서 사용자를 수동으로 리디렉션해야한다는 것입니다.
내 webserivce에서 적절한 오류 코드가있는 HttpException을 던질 수있는 방법이 있는지 궁금합니다. 브라우저가 응답을 이해하고 사용자를 로그인 페이지로 리디렉션하도록합니다.
내 서비스 호출에서 throw new HttpException(401,"Unauthorized access request);
을 시도했지만이 errorHandler가이 예외를 처리하고 브라우저가 사용자를 다시 로그인 페이지로 리디렉션하지 않습니다.
또한 내가 HttpModule을 사용하여 이것을 달성 할 수 있다고 생각했는데, 서비스 생성자에서 권한 부여 검사보다 더 나은 해결책이 될 것인가?
--Update--
을 HttpContext.Current.Response.RedirectLocation = "login.aspx";
및 HttpContext.Current.Response.StatusCode = 307;
를 추가 한 후, 지금 나에게 "Resource cannot be found"
를 말하는 오류를 제공합니다. RequestedURL에 표시된 내용입니다 : /Web/Services/svcSomething.asmx/login.aspx
.
리디렉션 위치가 웹 페이지가 아닌 새 페이지인지 어떻게 알 수 있습니까?
Hwo about [ '307'] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.8) - 임시 리디렉션 코드. –
글쎄, 여전히 브라우저가 사용자를 로그인 페이지로 리디렉션하지 않습니다. 그것은 errorHandler에있는 경고를 보여줍니다. – Asdfg