| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > проблема с фильтром |
| Автор: katala 8.5.2006, 21:13 | ||||
пробую написать фильт который проверяет если пользователь не логинился то его перекыдывает на страницу для регистриции. вот фильт
вот то что пишу в web.xml
И ПРИ ПОПЫТКЕ ЗАГРУЗИТЬ ПРОЕКТ МЕНЯ СРАЗУ КИДАЕТ В .../showRegistration.html Я ПРОВЕРИЛ ДАННЫЕ(ДО ИСПОЛЬЗОВАНИЯ ФИЛЬТРА) req.getRequestURI() В НАЧАЛЬНЫЙ этап возращеат /kurs/index.html а req.getContextPath(); /index.html. вот я и немогу понять почему req.getRequestURI().equals(contextPath+"/index.html") возвращает false(а так оно и есть ведь кидает же на ../showRegistration.html только почему еще и страниуа пустая????) вообщем где то я допустил ошибку. подскажите я то я с фильтрами только начал работать!!!! |
| Автор: Tirael 8.5.2006, 21:34 | ||||
| Что-то очень знакомый код фильтра )))) Щас подумаю....... Добавлено @ 21:42 Какие-то проблемы у меня возникали я помню. Сделай так:
И скажи что будет у тебя на консоли Добавлено @ 21:45 Кажется я понял, что тебе не понятно. Когда ты делаешь запрос, фильтр срабатывает два раза. Первый при твоем запросе. А второй, когда ты делаешь
В этом случае запрос опять проходит через фильтр, но req.getRequestURI() уже будет другим. Код страницы в студию ))) |
| Автор: katala 8.5.2006, 22:17 | ||||||
| вот что у меня получилось. вот еще раз код фильтра
немного исправил и теперь когда просто запускаю проект то на консоли пишут
то есть у меня остается как надо главная страничка. но как только я пытаюсь перейти на какую нибудь другую страничку то сразу появляются проблемы!!!! вот что пишется на консили
вот тут то мне ничего не понятно. откудава появляются такие записи типа /kurs/templates/template.css???? и вообще как сделать что бы просто перекидывало на нужную страницу а не проверяло два раза ????? |
| Автор: katala 8.5.2006, 22:56 | ||||||
вот showRegistration.html
вод код передачи в сесию атрибута
и еще одна вещь интересная появилась: почему то стали игнорироваться мои настроийки записанные в template.css(вот он этот файл но как он в фильтр попал ума не приложу) . то есть фильтр елси отдключаю они используютя как надо как только подключаю-все никакой реакции!!!1 Добавлено @ 22:57
|
| Автор: Tirael 8.5.2006, 23:07 |
| <LINK href="templates/template.css" type=text/css rel=stylesheet> что это за ссылочка. Полагаю, что твоя страница пытается обратиться к templates/template.css, а запрос попадает в руки к фильтру. А фильтр не дает пройти. Вот потому настройки записаннные там игнорируются. В этом вся проблема ) |
| Автор: katala 8.5.2006, 23:14 | ||||
этот подключение файла с настройками вот кусочег его текста
и он очень нужен. может можно как нибудь забацать чтобы фильт его инорировал??? да еще ты не ответил как енто сделать
|
| Автор: Tirael 8.5.2006, 23:15 | ||||
Вообщем-то я тоже задавал такой вопрос, и если помниться, не получил ответа. Могу предложить плохой (как мне кажется) способ. Сделайте так чтоб ваша страница с регистрацией находилась, например, по адресу / А все остальные страницы, доступ к которым осуществляется только после регистрации, положите, например, в /pages Далее в web.xml заменити строчку
на
Тогда фильтр будет фильтрить все запросы которые идут по адресу /pages/*. А те что идут по адресу /* (например /showRegistration.html или /templates/template.css) фильтриться не будут. А это то нам и надо Добавлено @ 23:18 Собственно вторая часть должна была быть присобачена к первой ))) но ты меня опередил ) |
| Автор: katala 8.5.2006, 23:24 |
| все понял спасибо!!! и не надо говорить сделайТЕ |
| Автор: Tirael 8.5.2006, 23:38 | ||
Ну собственно кажется то решение которое я дал подойдет. Если у тебя будет такая структура / showRegistraton.html /templates template.css /pages bla-bla-bla То все должно быть нормально. Ведь фильтр будет проверять только те запросы, которые идут через /pages а все остальные пропускать. Попробуй. Должно подействовать. Вообще есть такая штука - http://java.sun.com/products/jaas/index.jsp. Расшифровывается как Java Authentication and Authorization Service. Сам я еще эту технологию не изучал, но люди говорят вещь хорошая. По идее она должна решить все твои проблемы с аутентификацией и авторизацией пользователей. |
| Автор: katala 9.5.2006, 00:10 | ||
ок попробую но уже завтра.я только одного понять не могу как только пользователь регается все нормально настройки начинают использоваться почему только не понятно |
| Автор: Tirael 9.5.2006, 00:17 | ||
Все логично. Пока пользователь незалогинен доступа к template.css нету. Как только плользователь логинется. Доступ появляется. |