Мне нужно, чтобы это работало быстро, но последние несколько часов я потратил на изучение / беспокойство о том, что будет лучше:
Аутентификация с помощью Asp.net Forms
против
Маркер пользовательского заголовка:
На сервере
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 Forms клиент
static void datProvider_SendingRequest(object sender, SendingRequestEventArgs e)
{
e.RequestHeaders.Add("magic","HASHED_userbased_token");
}
Соображения:
- Я никогда не использовал аутентификацию форм (но я могу научиться?)
- Регистрация пользователей сложна (записи сотрудников проверяются, а затем создаются пользователи, основываясь на них)
- У меня есть свои собственные группы пользователей / таблицы разрешений / система
- Нет SSL (клиент не заботится об этом факте, данные не так уж ценны)
- Мне кажетсякак я больше контролирую с пользовательским заголовком.