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

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) { ... }
}
主站蜘蛛池模板: 体育| 辽宁省| 乐陵市| 大竹县| 永靖县| 望谟县| 大城县| 茶陵县| 广宗县| 太和县| 彭水| 依安县| 贵德县| 秀山| 克什克腾旗| 青龙| 乐平市| 铜山县| 芷江| 温泉县| 酒泉市| 重庆市| 和龙市| 桐梓县| 松潘县| 伊春市| 德保县| 昂仁县| 大余县| 平泉县| 普格县| 遂平县| 山东省| 凤庆县| 石家庄市| 庆安县| 云梦县| 新丰县| 中牟县| 玉树县| 从化市|