MessageAPand中的WebAPI请求身份验证还是使用身份验证过滤器?什么是利弊?

时间:2018-04-23 20:08:19

标签: .net asp.net-web-api asp.net-web-api2

我的webAPI正在尝试对正在进入的请求进行身份验证,我想知道在MessageHandler中执行此身份验证或使用身份验证过滤器是好还是坏?使用两者的利弊是什么?

1 个答案:

答案 0 :(得分:1)

比较两种操作模式 - Authentication MessageHandler或AuthorizationFilter - 在实现方面没有太大的区别。过滤器更紧凑,更容易理解,因为一切都在一个地方。对于与业务逻辑相关的大多数典型自定义登录方案,这将是完全足够的。消息处理程序的优点是它是全局应用的并且是WebAPI管道的一部分,因此如果有几个组件需要利用具有不同授权的BasicAuthentication,那么它将起作用。但是你也可以使用过滤器来做到这一点,特别是因为MessageHandler仍然需要一个过滤器来进行授权。

有关详细信息,请参阅以下链接,希望对您有所帮助:
https://weblog.west-wind.com/posts/2013/Apr/18/A-WebAPI-Basic-Authentication-Authorization-Filter
https://weblog.west-wind.com/posts/2013/Apr/30/A-WebAPI-Basic-Authentication-MessageHandler