を使用してユーザーをログインページに自動的にリダイレクトします。Asp.NetページからAJAXリクエストを使用して呼び出されるいくつかのWebサービスがあります。ユーザーの承認が失敗した場合は、ログインページにリダイレクトします。は、エラーコード
私が直面している問題は、AJAXリクエストのerrorHandler関数でユーザーを手動でリダイレクトする必要があることです。
ブラウザが応答を理解し、ログインページにリダイレクトするように、私のwebserivceから適切なエラーコードでHttpExceptionをスローする方法があるかどうか疑問に思っていましたか?
サービスコールでthrow new HttpException(401,"Unauthorized access request);
を試しましたが、errorHandlerがこの例外を処理し、ブラウザがユーザーをログインページにリダイレクトしませんでした。
また、私はHttpModuleを使用してこれを実現できると思っていましたが、サービスコンストラクタでAuthorizationチェックを行うのではなく、より良い解決策になるでしょうか?
--Update--
HttpContext.Current.Response.RedirectLocation = "login.aspx";
とHttpContext.Current.Response.StatusCode = 307;
を追加した後、それが今私に"Resource cannot be found"
を言ってエラーが発生します。これはRequestedURL:/Web/Services/svcSomething.asmx/login.aspx
に表示されます。
リダイレクトの場所がウェブページではなく新しいページであることをブラウザに伝えるにはどうすればよいですか?
Hwoについて[ '307'](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.8) - テンポラリリダイレクトコード。 –
よく、まだブラウザはユーザーをログインページにリダイレクトしません。私はerrorHandlerにある警告を表示します。 – Asdfg