![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| katala |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
пробую написать фильт который проверяет если пользователь не логинился то его перекыдывает на страницу для регистриции. вот фильт
вот то что пишу в web.xml
И ПРИ ПОПЫТКЕ ЗАГРУЗИТЬ ПРОЕКТ МЕНЯ СРАЗУ КИДАЕТ В .../showRegistration.html Я ПРОВЕРИЛ ДАННЫЕ(ДО ИСПОЛЬЗОВАНИЯ ФИЛЬТРА) req.getRequestURI() В НАЧАЛЬНЫЙ этап возращеат /kurs/index.html а req.getContextPath(); /index.html. вот я и немогу понять почему req.getRequestURI().equals(contextPath+"/index.html") возвращает false(а так оно и есть ведь кидает же на ../showRegistration.html только почему еще и страниуа пустая????) вообщем где то я допустил ошибку. подскажите я то я с фильтрами только начал работать!!!! |
||||
|
|||||
| Tirael |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Что-то очень знакомый код фильтра ))))
Щас подумаю....... Добавлено @ 21:42 Какие-то проблемы у меня возникали я помню. Сделай так:
И скажи что будет у тебя на консоли Добавлено @ 21:45 Кажется я понял, что тебе не понятно. Когда ты делаешь запрос, фильтр срабатывает два раза. Первый при твоем запросе. А второй, когда ты делаешь
В этом случае запрос опять проходит через фильтр, но req.getRequestURI() уже будет другим. Код страницы в студию ))) Это сообщение отредактировал(а) Tirael - 8.5.2006, 21:39 --------------------
|
||||
|
|||||
| katala |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
вот что у меня получилось.
вот еще раз код фильтра
немного исправил и теперь когда просто запускаю проект то на консоли пишут
то есть у меня остается как надо главная страничка. но как только я пытаюсь перейти на какую нибудь другую страничку то сразу появляются проблемы!!!! вот что пишется на консили
вот тут то мне ничего не понятно. откудава появляются такие записи типа /kurs/templates/template.css???? и вообще как сделать что бы просто перекидывало на нужную страницу а не проверяло два раза ????? |
||||||
|
|||||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
хмм...дайте код, где вы регистрируете пользователя, т.е. пишите в сессию атрибут "username". Дайте так же код showRegistration.html. Возможно с этой страницы и запрашивается templates/template.css
Добавлено @ 22:37
Оно проверяет два раза, если пользователь не зарегистрирован. Точнее так получается что проверяет. Вы вызываете страницу. Фильтр проверяет, говорит, что туда нельзя, и посылает на другую страницу. Перейдя на другую страницу фильтр опять проверяет, можно ли вам на нее зайти. И пропускает. Лично я ничего особенно плохого не вижу. Можно в принципе использовать не редирект, а диспатчер, но тогда в браузере строка адреса не будет меняться. Добавлено @ 22:39 Да...можно еще фильтр замапить особым образом: на все страницы, кроме той, где вы логинитесь. Тогда будет все нормально. --------------------
|
|||
|
||||
| katala |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
вот showRegistration.html
вод код передачи в сесию атрибута
и еще одна вещь интересная появилась: почему то стали игнорироваться мои настроийки записанные в template.css(вот он этот файл но как он в фильтр попал ума не приложу) . то есть фильтр елси отдключаю они используютя как надо как только подключаю-все никакой реакции!!!1 Добавлено @ 22:57
|
||||||
|
|||||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
<LINK href="templates/template.css" type=text/css rel=stylesheet>
что это за ссылочка. Полагаю, что твоя страница пытается обратиться к templates/template.css, а запрос попадает в руки к фильтру. А фильтр не дает пройти. Вот потому настройки записаннные там игнорируются. В этом вся проблема ) --------------------
|
|||
|
||||
| katala |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
этот подключение файла с настройками вот кусочег его текста
и он очень нужен. может можно как нибудь забацать чтобы фильт его инорировал??? да еще ты не ответил как енто сделать
|
||||
|
|||||
| Tirael |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Вообщем-то я тоже задавал такой вопрос, и если помниться, не получил ответа. Могу предложить плохой (как мне кажется) способ. Сделайте так чтоб ваша страница с регистрацией находилась, например, по адресу / А все остальные страницы, доступ к которым осуществляется только после регистрации, положите, например, в /pages Далее в web.xml заменити строчку
на
Тогда фильтр будет фильтрить все запросы которые идут по адресу /pages/*. А те что идут по адресу /* (например /showRegistration.html или /templates/template.css) фильтриться не будут. А это то нам и надо Добавлено @ 23:18 Собственно вторая часть должна была быть присобачена к первой ))) но ты меня опередил ) Это сообщение отредактировал(а) Tirael - 8.5.2006, 23:20 --------------------
|
||||
|
|||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
все понял спасибо!!! и не надо говорить сделайТЕ
|
|||
|
||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Ну собственно кажется то решение которое я дал подойдет. Если у тебя будет такая структура / showRegistraton.html /templates template.css /pages bla-bla-bla То все должно быть нормально. Ведь фильтр будет проверять только те запросы, которые идут через /pages а все остальные пропускать. Попробуй. Должно подействовать. Вообще есть такая штука - JAAS. Расшифровывается как Java Authentication and Authorization Service. Сам я еще эту технологию не изучал, но люди говорят вещь хорошая. По идее она должна решить все твои проблемы с аутентификацией и авторизацией пользователей. Это сообщение отредактировал(а) Tirael - 8.5.2006, 23:39 --------------------
|
|||
|
||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
ок попробую но уже завтра.я только одного понять не могу как только пользователь регается все нормально настройки начинают использоваться почему только не понятно |
|||
|
||||
| Tirael |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 31.1.2006 Где: Москва Репутация: 1 Всего: 7 |
Все логично. Пока пользователь незалогинен доступа к template.css нету. Как только плользователь логинется. Доступ появляется. --------------------
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |