1

起初我是asp的初學者。由asp.net教程開始編寫web api。 教程完成後(我沒有添加任何其他代碼),當我嘗試測試Api時,它返回我unautherize 401asp mvc web api返回401未授權

我發現我的web.config

<authentication mode="None" />

和WebApiCOnfig.cs

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

我如何可以訪問我的API 無需驗證下面的線?這是一個簡單的測試,無需任何身份驗證

+0

要麼刪除全局/控制器/操作認證過濾器/屬性,要麼在預期的控制器或操作上使用'[AllowAnonymous]'屬性 – Nkosi

+0

我評論config.Filters @Nkosi。我應該在哪裏添加[AllowAnonymous]? – Ashkan

+1

不,它是一個或另一個。無論如何。如果使用屬性,則可以將其放置在控制器上以應用於控制器中的所有操作,或者直接將其放置在操作本身中以用於該操作。 – Nkosi

回答

1

使用[AllowAnonymous]屬性打算控制器上或僅期望的操作

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

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

上cotroller所有行動

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

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

當完成測試您可以刪除它們。