Breezecontroller を使用しているフォーム認証を使用して WebAPI を保護しています WebAPI メソッドを呼び出そうとすると、次のエラーが返されます。
status:404 statusText: "Not Found" message:"MetaData query failed for:'';, 一致する HTTP リソースが見つかりませんでした...
私の質問は、「UnAuthorized error(401)」が返されないのはなぜですか? メタデータも [Authorize] で装飾されます。
FormsAuthentication のリダイレクトが問題を引き起こしているようです。Login(has AllowAnonymous) WebApi メソッドにリダイレクトしており、見つかったにもかかわらず見つからないと報告しています。また、コントローラーの代わりにAuthrozieをメソッドに適用しています。正確なエラーは
{"$id":"1","$type":"System.Web.Http.HttpError,System.Web.Http","Message":"NoHTTPresourcewasfoundthatmatchestherequestURI'http://localhost:40678/api/Country/Login?ReturnUrl=/api/Country/Metadata'.","MessageDetail":"Noactionwasfoundonthecontroller'Country'thatmatchestherequest."}