Pregunta

espero que me puede ayudar con esto: Estoy trabajando con j_security_check y tienen este problema

Tengo una página de perfil que debe ser restringida a cualquier usuario unloged, así que añadir una restricción de seguridad en el archivo web.xml y funciona bien si trato de acceso de la barra de direcciones, esto me muestra la página de inicio de sesión perfectamente bien

Ahora el problema es que: En mi página de índice ejemplo:

  

http: //localhost/mySite/index.xhtml

tener un enlace

  

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

esta redirección conmigo a la página perfil bien, pero la URL sigue siendo el mismo

  

http: //localhost/mySite/index.xhtml

por lo j_security_check no muestran la página de inicio de sesión Por lo que yo he visto j_security_check trabaja con url y JSF no lo hacen y si en la página de perfil de prensa un enlace a ex: myimages entonces ahora la URL dice:

  

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

¿Por qué es esto pasó? Hay alguna forma de arreglar esto ?? Gracias de antemano

una alternativa que he estado usando es poner como

  

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

Esto me muestra la página de inicio de sesión, pero si voy a la index.xhtml y pulse el perfil de este no encuentra la página porque me vuelve a dirigir a:

  

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

¿Fue útil?

Solución

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

A h:commandLink y los incendios h:commandButton una petición HTTP POST (por el h:form) a los página actual que a su vez hacia delante para el recurso dado.

Usted no quiere utilizar el poste para la navegación de página a página. No es sólo mala experiencia de usuario (URL no cambia, el comportamiento unintuive cuando va atrás / adelante en el historial del navegador), pero también no es amigable con SEO (searchbots no indexa POST).

Es necesario sustituirlo por h:outputLink o, como lo encontró a cabo, por un simple elemento de <a> si no es necesario ningún características JSF-ish en absoluto.

En cuanto a su último problema de ir dirigido a la dirección URL incorrecta (con la ruta duplicada): esto se resuelve cuando se utiliza h:outputLink. JSF luego tomar la ruta de contexto actual en cuenta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top