проблема с j_security_check - PullRequest
       26

проблема с j_security_check

1 голос
/ 20 августа 2010

надеюсь, что вы можете помочь мне с этим: я работаю с j_security_check и у меня возникла эта проблема

У меня есть страница профиля, которая должна быть доступна любому незанятому пользователю, поэтому я добавляю ограничение безопасности в ИнтернетеXML-файл и работает нормально, если я пытаюсь получить доступ через адресную строку, это показывает мне страницу входа совершенно нормально

Теперь проблема заключается в следующем: В моем примере страницы индекса:

http://localhost/mySite/index.xhtml

есть ссылка

<h:commandLink action="user/Profile" />

это перенаправляет меня на страницу профиля, но URL остается прежним

http://localhost/mySite/index.xhtml

, поэтому j_security_check не показывает страницу входа, насколько я видел, j_security_check работает с url, а jsf - нет, и если в профилеpage нажмите ссылку на ex: myImages, а затем URL-адрес говорит:

ex: http://localhost/mySite/user/Profile.xhtml

Почему это произошло?есть ли вообще это исправить ??Заранее спасибо

альтернатива, которую я использовал, помещается как

<a href="user/Profile.xhtml" >Profile</a>

, это показывает мне страницу входа, но если яперейдите к index.xhtml и нажмите профиль, чтобы найти эту страницу, потому что перенаправляет меня на:

ex: http://localhost/mySite/user/user/Profile.xhtml

1 Ответ

1 голос
/ 20 августа 2010
<h:commandLink action="user/Profile" />

A h:commandLink и h:commandButton запускает HTTP-запрос POST (h:form) на текущую страницу, которая, в свою очередь, перенаправляет на указанный ресурс.

Вы не хотите использовать POST для постраничной навигации.Это не только плохой пользовательский интерфейс (URL не меняется, неинтуитивное поведение при переходе назад / вперед в истории браузера), но и не оптимизированный для SEO (поисковые роботы не индексируют POST).

Вам необходимо заменить егоh:outputLink или, как вы выяснили, простым элементом <a>, если вам вообще не нужны какие-либо функции JSF.

Что касается вашей последней проблемы перехода на неправильный URL-адрес(с дублированным путем): это решается, когда вы используете h:outputLink.JSF примет во внимание текущий путь контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...