ti-enxame.com

Qual é o URL para o login do usuário (também conhecido como Como ocultar o formulário de login?)

Não desejo permitir que os visitantes se registrem no meu site; no entanto, acho necessário ter um único usuário registrado para fins de teste. Por exemplo, publicarei um artigo com acesso restrito para que meu usuário de teste possa ver como o artigo fica no site sem "expor qualquer roupa suja" ao público em geral (ok, todos os 1/dia que realmente visitarem ...) .

Meu problema no momento é que acabo desfigurando o site, pois tenho que publicar/cancelar a publicação do formulário de login do usuário. Atualmente, eu 'contoro' esse problema ocultando o formulário de login em uma subcategoria para que ele não fique imediatamente visível para um visitante casual. É possível criar um método alternativo (por exemplo, um URL personalizado) que permita que meu usuário de teste visualize o conteúdo marcado como restrito sem alterar o que um convidado com acesso público veria?

10
bobthechemist

Você pode criar um menu que não seja publicado, colocar um link para a página de login do usuário e nomear o alias como desejar. Desde que você desative a função de permitir registros nas opções do gerenciador de usuários, você deve ser bom.

Em seguida, basta fornecer o URL ao seu cliente.

Portanto, as etapas são:

  1. Crie um novo menu, denomine-o Oculto
  2. Não publique um módulo do novo menu
  3. Adicione um novo item de menu, escolha Gerenciador de usuários e formulário de logon
  4. Nomeie o item de menu Login ou algo assim, para que você saiba o que é, mas altere o alias para algo que alguém não imagina.
  5. Teste seu formulário acessando yoursite.com/aliasname
8
Brian Peat

Como uma extensão da resposta de Brian Peat:

Se você for para o URL

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

você pode fazer login sem ter um item de menu definido ou qualquer tipo de problema de publicação/publicação. Isso pode ser denominado como um problema no Joomla, pois, conhecendo o caminho, você ainda pode se registrar/fazer login se conhecer a estrutura do URL. Existem regras para evitar isso, mas normalmente, por padrão, você pode simplesmente usar caminhos diretos como esse para chegar aonde precisa ir.

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

Aqui está no trabalho, mesmo o site principal do Joomla, que não tem acesso direto ao login, pode ser acessado assim.

Meu ponto é, certifique-se de usar a ACL adequada também, se seus "apenas" usuários registrados, qualquer pessoa que conheça a estrutura do Joomla poderá entrar. Além disso, como Brian havia dito, certifique-se de permitir que os registros estejam desativados.

10
Jordan Ramstad

Você deve conseguir isso substituindo o layout do formulário de login do front-end. Adicione algum código PHP próximo à parte superior do arquivo de layout. Esse código adicionado verifica se há um parâmetro personalizado na URL e um valor específico. Se alguém tentar acessar a página de login através de qualquer URL, mas não inclui o parâmetro personalizado e o valor específico (como abc = xyz), o código emite um "retorno"; para que o layout do formulário não seja processado para exibição.

Com esse código no arquivo de layout substituto, apenas um usuário que conhece a URL (que inclui esse parâmetro personalizado e um valor aceitável) poderá usar esse formulário de login.

Por exemplo: O URL secreto pode ser

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

Em seguida, adicione esse código na parte superior do arquivo de layout substituto para o formulário de login:

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

Muitas vezes, enfrentava um problema semelhante porque geralmente desejo um logon de front-end para editar sites que eu gerencio, sem a necessidade de um formulário de logon. Acabei criando um pequeno bookmarklet que adicionei à barra de ferramentas do navegador. Esta é obviamente uma solução muito "local", pois o bookmarklet está disponível apenas para mim (ou para qualquer pessoa para quem eu copie o código), mas funciona em QUALQUER site do Joomla e economiza tempo, basta clicar no link e no formulário de login será mostrado (desde que você esteja em um site Joomla, é claro ...).

 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