Заявката към j_security_check връща грешка 408 само с правилни параметри

Искам да изпратя заявка до j_security_check от сървлета и да получа бисквитка за удостоверяване от отговора. Код:

String url = "http://someserver:8080/j_security_check?j_username=user&j_password=qwerty";
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();

Ако поставя грешни параметри за удостоверяване, тогава при отговор получавам страница за грешно влизане по подразбиране, но ако поставя правилни параметри за удостоверяване, получавам сървърен код 408. Какво не е наред?


person Alexander    schedule 04.04.2011    source източник


Отговори (1)


За да получите някакъв ресурс на сървъра tomcat с j_security_check auth, е необходимо да изпълните три стъпки:

  1. Изпратете GET заявка до необходимия частен ресурс, в отговор получавате бисквитка (Header "Set cookie".
  2. Изпратете заявка с бисквитка (от стъпка 1) към j_security_check. При отговор трябва да получите код 302 - "Преместен временно".
  3. Сега можете да повторите заявка към частния ресурс със същата бисквитка, при отговор ще получите необходимите данни за ресурса.
person Alexander    schedule 08.04.2011
comment
Мисля, че трябва да се изясни, че тази последователност от стъпки трябва да се приложи, защото преди удостоверяването сървлетът проверява за активна сесия на клиента. Ако тази сесия е изтекла или изобщо не е имало сесия (в случай че заявката към j_security_check е първоначална), сървърът ще върне HTTP грешка 408 Изчакване на заявката. - person Aleksandr Erokhin; 19.05.2015