我希望使用与数据库中的用户表关联的自定义身份验证来保护OData服务。我一直被这个问题所困扰,并且长时间搜索解决方案是徒劳的。我的意思是,是的,网上有很多文章,但它们只是非常简单,例如实现基本身份验证的IPrincipal或IHttpContext。值得注意的是,他们中的许多人可以追溯到2010年的数据,其中OData并不像今天那样成熟。所以我想知道基于数据库的自定义身份验证是否有任何快速解决方案。
任何指导都将不胜感激!
答案 0 :(得分:2)
OData和身份验证(甚至授权)在很大程度上与设计无关。这并不意味着OData堆栈无法为身份验证和授权提供良好的支持,只是OData协议本身不会对其进行评论。除了协议之外,Web API和WCF数据服务都在努力获得更好的支持。作为.NET社区的成员(而不是Microsoft员工),我认为有理由期望这些堆栈实现授权API,他们可能会寻求基于声明的授权。同样,我想明确说明我并不是想在这里隐藏或泄露任何计划 - 我只是在猜测认证和授权的去向。
简而言之,如果我在你的鞋子里,我会找到OAuth2和基于声明的身份验证之间最简单的交集,并使其现在正常工作。现在计算您的声明和身份验证意味着您只需要考虑稍后集成实际授权代码。