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

ASP.NET Web API security architecture

This section will give you an overview of the Web API security architecture and show you all the various extensibility points that can be used for security related things. The ASP.NET Web API security architecture is composed of three main layers. The hosting layer acts as an interface between the Web API and network stacks. The message handler pipeline layer enables implementing cross-cutting concerns such as authentication and caching. The controller handling layer is where the controllers and actions are executed, parameters are bound and validated, and HTTP response message is created. This layer also contains a filter pipeline, as shown in the following figure:

Fig 1 – This image shows the components involved in securing the Web API

Let's briefly discuss the purpose of each components in the Web API pipeline, as follows:

  • Open Web Interface for .NET (OWIN) is the new open standard hosting infrastructure. Microsoft has built its own framework called Katana on top of OWIN and all Web API security techniques such as authentication methods (for example, token-based authentication) and support for social login providers (for example, Google and Facebook) will be happening on the OWIN layer.
  • Message Handler is a class that receives an HTTP request and returns an HTTP response. Implementing authentication at message handler level is not recommended. Message handlers are used for Cross-Origin Resource Sharing (CORS).
  • Authentication Filters are guaranteed to run before the authorization filter. If you are not interested in operating your authentication logic at the OWIN layer, you can straightaway move to controllers or actions. Authentication filters are really useful to invoke OWIN-based authentication logic.
  • Authorization Filters are the places in the pipeline where you can recheck the request before the actual expensive business logic stuff runs in the model binding and validation, and the controller action is invoked.

Now that we are familiar with the security architecture, we will set up the client.

主站蜘蛛池模板: 江北区| 岑巩县| 洪洞县| 抚宁县| 长顺县| 呼伦贝尔市| 辽阳县| 偃师市| 平凉市| 班戈县| 侯马市| 福安市| 房产| 永新县| 祁阳县| 荆州市| 武义县| 巴彦县| 肇州县| 盘锦市| 大港区| 昭平县| 南陵县| 周宁县| 锡林郭勒盟| 汤原县| 静海县| 札达县| 衡东县| 景谷| 桃源县| 开阳县| 湖州市| 剑川县| 法库县| 崇州市| 库伦旗| 井研县| 石嘴山市| 贵溪市| 沙坪坝区|