1

最初は私はASPの初心者です。 asp.netチュートリアルでWeb APIを作成してください。 チュートリアル終了後(私は他のコードを追加しませんでした)、Apiをテストしようとすると、返されますunautherize 401asp mvc web api return 401 unauthorized

私は

<authentication mode="None" />

と私は認証せずに私のAPI にアクセスする方法をWebApiCOnfig.cs

config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

で私のWeb.configファイルに以下の行を見つけましたか?あなたのテストを完了したら、それは簡単なテストとそのcotroller

[AllowAnonymous] // Applies to all ations 
public class MyController : ApiController { 
    public IHttpActionResult MyAction1() { 
     //... 
    } 

    public IHttpActionResult MyAction2() { 
     //... 
    } 
} 

または唯一の意図したアクション

public class MyController : ApiController { 
    [AllowAnonymous] // Applies to only this ation 
    public IHttpActionResult MyAction() { 
     //... 
    } 

    //Still secure 
    public IHttpActionResult MyAction2() { 
     //... 
    } 
} 

上の上のすべてのアクションのために意図され、コントローラ上の任意の認証

+0

目的のコントローラーまたはアクションでグローバル/コントローラー/アクションの認証フィルターまたは属性を削除するか、[AllowAnonymous]属性を使用します。 – Nkosi

+0

config.Filters @Nkosiにコメントします。 [AllowAnonymous]はどこに追加しますか? – Ashkan

+1

いいえ、それはどちらか一方です。とにかく属性を使用している場合は、コントローラー内のすべてのアクションに適用するか、アクションのみのアクション自体に適用することができます。 – Nkosi

答えて

1

使用[AllowAnonymous]属性に不要ですそれらを取り除くことができます。

関連する問題