ASP.NET OData / Web API身份验证和文档

时间:2017-06-27 14:28:53

标签: authentication asp.net-web-api-odata

我正在ASP.NET应用程序上实现OData端点,现在正在使用身份验证部分。我查看了http://odata.github.io/WebApi/05-01-basic-auth/的示例,以实现HTTP基本身份验证。但是,这个例子对我来说看起来很奇怪,尽管这篇文章给人的印象是这是你在RESTful API上实现通用自定义身份验证的方式。

e.g:

  • 它在您应该实现授权的管道的舞台上实现身份验证。我的理解是,当调用OnAuthorization时,你应该已经拥有了主体集,剩下要做的就是检查主体是否有足够的访问权来执行请求的操作。

  • 对IsAuthorized的调用有什么处理?这不应该是一种无副作用的方法吗?

所以我基本上想从那些更熟悉ASP.NET Web API的人那里确认这是否是一个正确的做事方式b)一种做事的hackish但是安全的方法或者c)危险的东西应该永远不会出现在生产代码中。

1 个答案:

答案 0 :(得分:0)

您是对的,身份验证应该在单独的AuthenticationFilter甚至HttpModule中实施。您可以在此处找到示例:authentication filterhttp module