官术网_书友最值得收藏!

Using the [Authorize] attribute

AuthorizeAttribute will make sure if the user is authenticated or unauthenticated. Unauthorized error with HTTP status code 401 will be returned if the user is not authenticated and the corresponding action will not be invoked. Web API enables you to apply the filter in three ways. We can apply them at global level, or at the controller level, or at the individual action level.

Global authorization filter

To apply authorization filter for all Web API controllers, we need to add the AuthorizeAttribute filter to the global filter list in the Global.asax file as given below:

public static void Register(HttpConfiguration config)
{
    config.Filters.Add(new AuthorizeAttribute());
}

Controller level authorization filter

To apply an authorization filter for a specific controller, we need to decorate the controller with filter attribute as given in the following code:

// Require authorization for all actions on the controller.
[Authorize]
public class ContactsController : ApiController
{
    public IEnumerable<Contact> GetAllContacts() { ... }
    public IHttpActionResult GetContact(int id) { ... }
}

Action level authorization filter

To apply an authorization filter for specific actions, we need to add the attribute to the action method as given in the following code:

public class ContactsController : ApiController
{
    public IEnumerable<Contact> GetAllContacts() { ... }

    // Require authorization for a specific action.
    [Authorize]
    public IHttpActionResult GetContact(int id) { ... }
}
主站蜘蛛池模板: 遵义市| 德钦县| 东光县| 寻乌县| 淳安县| 洛宁县| 鄱阳县| 治多县| 麻栗坡县| 郧西县| 务川| 太湖县| 宣城市| 玉林市| 高碑店市| 新宁县| 柞水县| 星子县| 陆河县| 九台市| 大悟县| 东至县| 随州市| 江达县| 海淀区| 静安区| 永顺县| 英德市| 洛阳市| 启东市| 江阴市| 广平县| 尼勒克县| 德惠市| 察哈| 新竹市| 搜索| 陇西县| 涞源县| 项城市| 乌拉特中旗|