为odata形成auth或自定义标头auth,这是更好的

时间:2010-11-18 06:45:04

标签: asp.net security odata

我需要快速运行,但我花了最后几个小时研究/担心哪个更好:

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");
}

注意事项:

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

1 个答案:

答案 0 :(得分:2)

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