Asp.net 对odata进行表单身份验证或自定义标题身份验证,哪一种更好

Asp.net 对odata进行表单身份验证或自定义标题身份验证,哪一种更好,asp.net,security,odata,Asp.net,Security,Odata,我需要快速启动并运行此功能,但我花了最后几个小时研究/担心哪一个更好: Asp.net表单身份验证 vs 自定义头标记: 在服务器上 protected override void OnStartProcessingRequest(ProcessRequestArgs args) { if (string.IsNullOrEmpty(WebOperationContext.Current.IncomingRequest.Headers.Get("magic"))) {

我需要快速启动并运行此功能,但我花了最后几个小时研究/担心哪一个更好:

Asp.net表单身份验证

vs

自定义头标记:
在服务器上

protected override void OnStartProcessingRequest(ProcessRequestArgs args)
{
     if (string.IsNullOrEmpty(WebOperationContext.Current.IncomingRequest.Headers.Get("magic")))
     {
           throw new DataServiceException(403, "Sorry No Magic found");
     }
      else
     {
           base.OnStartProcessingRequest(args);
     }
}
Windows窗体客户端上

static void datProvider_SendingRequest(object sender, SendingRequestEventArgs e)
{
    e.RequestHeaders.Add("magic","HASHED_userbased_token");
}
考虑事项:

  • 我从未使用过forms auth(但我可以学习?)
  • 用户注册很复杂(检查员工记录,然后根据这些记录创建用户)
  • 我有自己的自定义用户组/权限表/系统
  • 没有SSL(客户端不关心这个事实,数据并没有那么有价值)
  • 我似乎更能控制自定义标题

使用自定义标头令牌。Forms auth假设一个人将对服务进行身份验证,这在OData端点上是一件非常奇怪的事情。OData更多地是关于对OData服务进行身份验证的计算机或服务。

谢谢!=)奖励积分,因为你的回答让我高兴!(我再次放弃表单!=D)FormsAuthentication,可用于生成魔法令牌,而不是通过cookie进行通信,它可以从标头进行验证