【发布时间】:2018-04-23 20:08:19
【问题描述】:
我的 webAPI 正在尝试对传入的请求进行身份验证,我想知道在 MessageHandler 中执行此身份验证还是使用身份验证过滤器是个好主意还是坏主意?两者都用有什么优缺点?
【问题讨论】:
标签: .net asp.net-web-api asp.net-web-api2
我的 webAPI 正在尝试对传入的请求进行身份验证,我想知道在 MessageHandler 中执行此身份验证还是使用身份验证过滤器是个好主意还是坏主意?两者都用有什么优缺点?
【问题讨论】:
标签: .net asp.net-web-api asp.net-web-api2
比较两种操作模式 - 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
【讨论】: