formulários auth ou cabeçalho personalizado auth para odata, o que é melhor
Pergunta
Eu preciso disso rapidamente, mas passei as últimas horas pesquisando/me preocupando com o que seria melhor:
ASP.NET Forms autenticação
vs.
Token de cabeçalho personalizado:
No servidor
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);
}
}
No Formulários do Windows cliente
static void datProvider_SendingRequest(object sender, SendingRequestEventArgs e)
{
e.RequestHeaders.Add("magic","HASHED_userbased_token");
}
Considerações:
- Eu nunca usei o Forms Auth (mas posso aprender?)
- O registro do usuário é complexo (os registros dos funcionários são verificados e os usuários são criados com base neles)
- Eu tenho meus próprios grupos de usuários personalizados/tabelas de permissão/sistema
- Não há SSL (o cliente não se importa com esse fato, os dados não são tão valiosos)
- Parece que estou mais no controle com o cabeçalho personalizado.
Solução
Use um token de cabeçalho personalizado. A Auth Forms pressupõe que um humano estará autenticando para o serviço, o que seria uma coisa bastante estranha para acontecer em um ponto final OData. O ODATA é mais sobre computadores ou serviços autenticando para o serviço ODATA.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow