2016-09-20 13 views
0

apiメソッドでAuthorize属性を使用しているときに、ユーザーがログインページに送信するのではなく、Web APIから401を返そうとしています。 私はこれを修正する方法についていくつかのアイデアを見てきましたが、誰も私のために働いていませんでした。フォーム認証アプリでweb apiから401メッセージを返します

私はWeb API 5.2.3を使用していますが、response.SuppressFormsAuthenticationRedirect = trueのようには見えません。 はもう動作しません。

私もHandleUnauthorizedRequestを無効にしようとしましたが、 まだログインページにリダイレクトされています。 あなたの助けをありがとう

+0

私は最終的にそれが答えを試みることによって働かせた しかし、これは私が私のスタートアップクラスのservices.AddIdentity方法では、その問題に出席するだろうかある

config.Cookies.ApplicationCookie.Events = new CookieAuthenticationEvents() { OnRedirectToLogin = ctx => { if (ctx.Request.Path.StartsWithSegments("/api") && ctx.Response.StatusCode == 200) { ctx.Response.StatusCode = (int)HttpStatusCode.Unauthorized; } else { ctx.Response.Redirect(ctx.RedirectUri); } return Task.FromResult(0); } }; 

が、これはあなたのために働くなら、私を知ってみましょうここにまた。 http://stackoverflow.com/questions/34880817/make-web-api-authentication-return-401-instead-of-redirect-to-login-page – user973671

答えて

0

通常、私はASP.Netコアで動作し、フレームワークはWeb APiとMVCの両方に対して同じコントローラタイプを使用します。

+0

はい、私はasp.netコアを使用していません。これはMVC5アプリケーションです。あなたの助けをありがとう! – user973671

関連する問題