Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 500 ошибка Томкат`а и куки... очень странная ошибка авторизации 
:(
    Опции темы
Се ля ви
Дата 17.7.2004, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



Написал код в JSP:
Код
   boolean isAuthorize = false;
   
   String login = "login1";
   String password = "pass1";
   
   Cookie[] cookies = request.getCookies();
   
   boolean
       isLoginRight = false,
       isPasswordRight = false;
   
   if (cookies.length > 0 && !isAuthorize)
       for (int i = 0; i < cookies.length; i++) {
       
           if ( (new String(cookies[i].getName())).equals("login") &&
                (new String(cookies[i].getValue())).equals(login) )
               isLoginRight = true;
           
           if ( (new String(cookies[i].getName())).equals("password") &&
                (new String(cookies[i].getValue())).equals(password) )
               isPasswordRight = true;
           
           if (isLoginRight && isPasswordRight) {
               
               isAuthorize = true;
               break;
           }
       }
   if ( !isAuthorize){
   %>
   <script type="text/javascript" language="javascript1.2">
   <!--//[CDATA[
       
       location.href = "/admin/";
       
   //]]-->
   </script>
   Вы не авторизованы - пароль или логин не верны.<br />
   Если не перешли автоматически, <a href="/admin/">вернитесь на страницу авторизации</a>, и повторите ввод, если вы уверены, что вы просто ошиблись в написании. Иначе, если вы тут оказались случайно, перейдите на <a href="/">основную страницу сайта</a>.
   </body>
   </html>
   <%
   } else {
   %>
   тело документа
   <%}%>

Эта хрень нужна была для панели администрирования новостей на сайте. Типа новость вбиваешь в форму, и она потом ыводится на сайт в разделе новостей уже другим скриптом. Как видно из кода, я не использую никаких внешних собственноручно написанных классов. Т.к. БД нету на том хостинге, все новости сохраняются и извлекаются их файлов *.txt

Так вот, проблема такая - не знаю, почему, но когда заходишь на страницу администрирования, выскакивает 500 ошибка томката. Если же перед этим зайти на страницу, которая выводит новости, и зайти в админку после этого - всё работает нормально - пользователь переадресуется на страницу авторизации...

Если же закомментировать этот код, тогда ошибка сервера не возникает... Парадокс. Я уже не знаю, что и думать... Единственное, что приходит на ум - внутренняя ошибка реализации в работе с куками у томката...
Версия томката - 4.1.27 .

Может быть, кто-то сталкивался с похожей проблемой?

Это сообщение отредактировал(а) Се ля ви - 17.7.2004, 16:03


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Domestic Cat
Дата 17.7.2004, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



getCookies() вернет null если у клиента нет куков. То есть, если вы сразу заходите на эту страницу - у вас куков нет, и значит вы получите NullPointerException (iz-za cookies.length) что и приводит к сообщению Internal Server Error.
Eсли вы перед этим где-нибудь были, то куки уже прописаны в броузере и все работает.

Посмотрите в кошачьи логи - там эта exception дожна быть вместе с номером строки в сгенерированном из JSP сервлете - проверите так ли это.

Я бы рекомендовал делать проверку на это дело в сервлете и использовать не куки, а
getSession().getAttribute. Если к session подцеплен обьект (скажем класса User), то все ок, узер получает допуск к stranice, если нет - сервлет переадресует запрос на логин страницу. Дополнительно можно прикрыть страницу администрации cherez auth-constraint.


--------------------

PM   Вверх
Се ля ви
Дата 18.7.2004, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



Огромное спасибо! :-))))))))))


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.