我有幾個使用Asp.Net頁面的AJAX請求調用的Web服務。如果用戶的授權失敗,我想將他重定向到登錄頁面。使用錯誤代碼自動將用戶重定向到登錄頁面
我面臨的問題是我不得不手動重定向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
。
如何告訴瀏覽器重定向位置是一個新頁面而不是webmethod?
有關[ '307'](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.8) - 臨時重定向代碼。 –
那麼,仍然瀏覽器不會將用戶重定向到登錄頁面。它顯示了我在errorHandler中的警報。 – Asdfg