it-swarm-es.tech

¿Cuál es la URL para el inicio de sesión del usuario (también conocido como ¿Cómo ocultar el formulario de inicio de sesión?)

No deseo permitir que los visitantes se registren en mi sitio web; sin embargo, encuentro la necesidad de tener un solo usuario registrado para fines de prueba. Por ejemplo, publicaré un artículo con acceso restringido para que mi usuario de prueba pueda ver cómo se ve el artículo en el sitio sin "airear la ropa sucia" al público en general (ok, todos los 1/día que realmente visitan ...) .

Mi problema en este momento es que termino desfigurando el sitio web ya que tengo que publicar/anular la publicación del formulario de inicio de sesión del usuario. Actualmente, 'evito' este problema ocultando el formulario de inicio de sesión en una subcategoría para que no sea inmediatamente visible para un visitante casual. ¿Es posible crear un método alternativo (por ejemplo, una URL personalizada) que permita a mi usuario de prueba ver el contenido marcado como restringido sin alterar lo que vería un invitado con acceso público?

10
bobthechemist

Puede crear un menú que no esté publicado, y poner un enlace a la página de inicio de sesión del usuario allí, y nombrar el alias como desee. Siempre que desactive la función de permitir registros en las opciones del administrador de usuarios, debería ser bueno.

Luego solo dale a tu cliente la url.

Entonces los pasos son:

  1. Crea un nuevo menú, llámalo Oculto
  2. No publique un módulo del nuevo menú.
  3. Agregue un nuevo elemento de menú, elija Administrador de usuarios y formulario de inicio de sesión
  4. Titula el elemento de menú Iniciar sesión o algo así para que sepas qué es, pero cambia el alias a algo que alguien no adivinaría.
  5. Pruebe su formulario yendo a yoursite.com/aliasname
8
Brian Peat

Como una extensión a la respuesta de Brian Peat:

Si vas a la url

domain.com/index.php?option=com_users&view=login

puede iniciar sesión sin tener un elemento de menú establecido o cualquier tipo de problema de publicación/publicación. Esto podría calificarse como un problema en Joomla, ya que conocer su camino aún puede registrarse/iniciar sesión si conoce la estructura de la URL. Hay reglas para evitar esto, pero por lo general, de forma predeterminada, puede usar rutas directas como esa para llegar a donde necesita ir.

http://www.joomla.org/index.php?option=com_users&view=login

Aquí está en el trabajo, incluso el sitio principal de Joomla que no tiene acceso directo para iniciar sesión se puede acceder de esa manera.

Mi punto es, asegúrese de usar también la ACL adecuada, si son "solo" usuarios registrados, entonces cualquiera que conozca la estructura de Joomla puede ingresar. Además, como Brian había dicho, asegúrese de que permitir los registros esté desactivado.

10
Jordan Ramstad

Debería poder lograr esto anulando el diseño del formulario de inicio de sesión front-end. Agregue un código PHP cerca de la parte superior del archivo de diseño. Este código agregado busca un parámetro personalizado en la URL y un valor particular. Si alguien intenta acceder a la página de inicio de sesión a través de cualquier URL pero no incluye el parámetro personalizado y el valor particular (como abc = xyz), entonces el código emite un "retorno", de modo que el diseño del formulario no se procesará para su visualización.

Con este código en el archivo de diseño superior, solo un usuario que conozca la URL (que incluye este parámetro personalizado y un valor aceptable) podrá usar ese formulario de inicio de sesión.

Por ejemplo: La URL secreta puede ser

mydomain.com/?option=com_users&view=login&abc=xyz

Luego agregue este código cerca de la parte superior del archivo de diseño para el formulario de inicio de sesión:

if(JFactory::getApplication()->input->get('abc')!='xyz'){
    return;
}
4
RCarey

A menudo me enfrento a un problema similar porque a menudo quiero un inicio de sesión front-end para editar sitios web que administro, sin la necesidad de tener un formulario de inicio de sesión. Terminé creando un pequeño bookmarklet que agregué a la barra de herramientas de mi navegador. Obviamente, esta es una solución muy "local", ya que el bookmarklet solo está disponible para mí (o cualquier persona a la que copie el código), pero funciona en CUALQUIER sitio de Joomla y es un ahorro de tiempo increíble, simplemente haga clic en el enlace y el formulario de inicio de sesión se mostrará (dado que está en un sitio de Joomla, por supuesto ...).

 javascript:void((function(){var loc = location.href; loc.indexOf("?") == -1 ? (location.href = loc+"?option=com_users&view=login") : (location.href = loc+"&option=com_users&view=login");})());
3
johanpw