Я создаю спокойный веб-сервис на основе Spring. Я использую Spring Security. Доступ к нему будут доступны только для настольных приложений. В основном это веб-сервис от машины к машине.Аутентификация в веб-службе RESTful
Я хочу, чтобы пользовательская служба выполняла аутентификацию. Затем выполните другие, более чувствительные операции, основанные на результате проверки подлинности.
Другой вариант - отправить учетные данные в теле каждого запроса и в основном выполнять аутентификацию каждый раз.
Логика говорит о том, что первый подход будет наиболее эффективным, потому что есть довольно много накладных расходов в аутентичности каждый и каждый раз.
Что вы предлагаете, связанные с этим? Пойти без гражданства или состояния? Существуют ли серьезные недостатки для подхода, основанного на учете состояния здоровья?
До этого момента я прочитал несколько глав от Java Web Services Up and Running , а также несколько вопросов от SO, таких как this.
Так что это больше похоже на шаблон дизайна для безопасности в веб-службах REST. Мой вопрос: разве это не медленнее, менее эффективно? На веб-сервисе, основанном на SOAP, мне не известны рекомендации, чтобы избежать сеансов. Есть ли очевидные преимущества для полного отсутствия гражданства? Спасибо! –
Что касается производительности: я бы сказал, что несколько инструкций, необходимых для вычисления хэша, или несколько байтов, переданных для информации об аутентификации, на сегодняшний день являются несущественными по сравнению с общей передачей и временем обработки запроса. – jmclem
Да, время обработки запроса может быть проблемой. Я имею в виду, что каждый раз, когда учетные данные передаются, для проверки подлинности пользователя необходимо выполнить поиск базы данных. –