Login em site externo mas que permaneça dentro do joomla

  • virginiarcruz
  • Avatar de virginiarcruz Autor do Tópico
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
14 anos 8 meses atrás #44258 por virginiarcruz
virginiarcruz created the topic: Login em site externo mas que permaneça dentro do joomla
Bom dia Pessoal!

Estou com um probleminha e queria a ajudar de vocês.
Tenho uma área de login para um site externo em meu site que que funciona perfeitamente no joomla. Só que após o usuário fazer a autenticação ele é direcionado para o outro site e sai do meu site joomla.

Gostaria de saber se teria como eu deixar esse form de login no meu site joomla e após o usuário fazer o login ele ser direcionado para o site externo mas que este site externo esteja dentro do meu joomla.

Tentei fazer com o wrapper de próprio joomla, mas ocorre que meu form de login está numa posição do template bem estreita em largura, próprio só para o login externo mesmo.

É possível fazer com que depois do login, mesmo o login ja sendo um form para um site externo, o site externo continue dentro do joomla?

Please Entrar ou Registrar to join the conversation.


Mais
14 anos 8 meses atrás #44285 por Kleberson Kavalo
Kleberson Kavalo replied the topic: Re: Login em site externo mas que permaneça dentro do joomla
Virginia,
Não sei se entendi direito (está um pouco confuso), mas, para cada site, principalmente, através de controle de logon, eles possuem {Sessões} distintas, isto é a base das transações WEB e também o princípio básico de segurança virtual, portanto, o site principal, com controle de acesso (Módulo Login) fazendo o controle de persistência (acesso à Base-de-dados) naquela seção, daquele conteúdo, daquele "mundinho", ...após o usuário/internauta entrar, este, não poderá compartilhar esta "caixa-preta" com outra seção de outro site, exceto, quando se trabalha com Extranet's, que são comunicações distintas entre "mundos diferentes" e necessidades específicas, por exemplo: um Site A, que conversa com um Site B e precisam, em pequenas transações "conversarem" entre si, mas, mesmo assim, isto é feito através de troca de parâmetros, via XML (ou outro mecanismo "terceirizado", pois a Seção de A não vai "meter o bedelho" na Seção do B, ...entendeu?



...Segue uma pequena "aulinha" sobre seções:

(Fonte Flávia Jobstraibizer da Revista PHP) escreveu: Primeiro acho que seria bom entender, o que são as famosas “sessions”.
Uma consulta rápida ao manual do PHP, já vai revelar algumas coisas: http://www.php.net/manual/pt_BR/ref.session.php

Pra resumir um pouco do que está sendo dito logo no começo dessa página do manual: As sessões são métodos de manter (ou preservar) determinados dados a mantê-los ativos enquanto o navegador do cliente (o internauta) estiver aberto, ou enquanto a sessão não expirar (por inatividade, ou porque em algum ponto você mandou que ela expirasse).

Pra começar a trabalhar com uma sessão, você precisa primeiro aprender uma coisa. Iniciar a sessão. Mesmo que você ainda não saiba o que vai colocar nela. Vamos por partes.

<?
session_start();
?>


O que você fez aí, foi indicar ao php, que você está iniciando um script, que poderá conter ou resgatar valores de sessão. Obrigatoriamente, esta deve ser SEMPRE a primeira linha do arquivo. (Salvos raros casos, de iframe, case switch, etc, ou então quando vc tem outros parametros de sessão sendo passados)
Veja mais descrições da função session_start(); aqui: http://www.php.net/manual/pt_BR/functio ... -start.php
Um sessão, por padrão tem o TTL (time to live ou tempo de vida) de 180 minutos. Se você precisa por algum motivo que sua sessão expire em menor ou maior tempo, use a função http://www.php.net/manual/pt_BR/functio ... expire.php

Então o código seria assim (partindo do principio que desejo expirar a sessão em 10 minutos):

<?
session_cache_expire(10);
session_start();
?>

Neste caso, session_cache_expire vem antes de session start. Porque primeiro ele avisa que a sessão, quando iniciada, deve expirar em 10 minutos, e depois a inicia.

Registrando uma sessão:

Digamos que você quer manter algum dado na sessão, para posterior uso.
Vamos para um exemplo prático.
Você tem um banner seu, divulgado em algum site. Via get ou mesmo post, é passado um parametro pra você.
Vejamos, o link do banner, seria: [url=http://www.nomedoseusite.com.br?parceiro=ibest" onclick="window.open(this.href);return false;]http://www.nomedoseusite.com.br?parceiro=ibest[/url]
Você sabe que quem clicou no seu banner, veio do site Ibest, correto?

Vamos gravar isso na sessão.

session_start();
$parceiro = $_GET;
$_SESSION = $parceiro;
// aqui, podems imprimir o que gravamos na sessão!
echo "Você acessou no site através do '".$_SESSION."' ";

Tendo acesso à dados como estes, você pode reuni-los através de passagem de parâmetros de sessão entre as páginas, e gravar num banco por exemplo, afim de ter um relatório de acessos, ou mesmo manipular dados específicos para cada cliente.
Agora digamos que o mesmo cliente continuava navegando no Ibest, viu outro banner seu, e clicou.
Ao invés de registrarmos duas sessões para ele, vamos ver se a sessão dele já está ativa. Se já estiver, manterá. Senão, se a sessão anterior já tiver expirado, registraremos novamente.

session_start();
// pegando o parceiro via get
$parceiro = $_GET;

// isset verifica se a sessão chamada Parceiro já existe
if(isset($_SESSION)) {
echo "Você acessou no site através do '".$_SESSION."' ";
}else{
$_SESSION = $parceiro;
echo "Você acessou no site através do '".$_SESSION."' ";
}


Deu pra notar?
Verifiquei se a sessão Parceiro existe. Se existe, simplesmente imprime que o cliente acessou o site através do Ibest. Se não existe (pode ser que tenha expirado, o cliente fechou o navegador anterior, etc.), registra a sessão e imprime que ele veio do Ibest.
Simples, não?

Destruindo uma sessão:

Agora que você sabe como registrar, expirar, verificar se existe, vamos destuir uma sessão.
Por algum motivo, você quer que ao clicar em um determinado link, ou efetuar alguma tarefa no site, o cliente deixe de ver aquela mensagem de que veio do Ibest.
Então, vamos simplesmente pegar a sessão ativa e informar ao script que queremos que ela seja "destruída"

$_SESSION = NULL;
unset($_SESSION);


A função unset ( http://www.php.net/manual/pt_BR/function.unset.php ) é a responsável por "destruir" a sessão, que no caso chamamos de Parceiro.


Espero ter ajudado e também espero não ter deixado o texto muito "Tecniquêz" (Sem perder a eficiência) para atender todos os níveis de usuários deste fórum!!!!

Abraços!!!!!!!!!!

[b:37z5onsw]Kleberson Rocha[/b:37z5onsw]
Portais Consultoria ([url:37z5onsw]http://www.portaisconsultoria.com.br[/url:37z5onsw]), desenvolvendo soluções na WEB!
- [color=#0080FF:37z5onsw]Sozinho, desenvolvo mais rápido, porém, [b:37z5onsw]juntos[/b:37z5onsw], chegaremos mais longe[/color:37z5onsw]!
- [color=#0000BF:37z5onsw]Concluindo sua dúvida, favor alterar o [u:37z5onsw]Assunto do Tópico[/u:37z5onsw]: de "[b:37z5onsw][i:37z5onsw]Sua Dúvida[/i:37z5onsw]...[/b:37z5onsw]" p/...

Please Entrar ou Registrar to join the conversation.

Mais
14 anos 8 meses atrás #44382 por Kleberson Kavalo
Kleberson Kavalo replied the topic: Re: Login em site externo mas que permaneça dentro do joomla
....Vc pode tentar este objeto:

http://extensions.joomla.org/extensions ... desk/13982


Abraços <!-- s:ugeek: --><img src="{SMILIES_PATH}/icon_e_ugeek.gif" alt=":ugeek:" title="Uber Geek" /><!-- s:ugeek: -->

[b:37z5onsw]Kleberson Rocha[/b:37z5onsw]
Portais Consultoria ([url:37z5onsw]http://www.portaisconsultoria.com.br[/url:37z5onsw]), desenvolvendo soluções na WEB!
- [color=#0080FF:37z5onsw]Sozinho, desenvolvo mais rápido, porém, [b:37z5onsw]juntos[/b:37z5onsw], chegaremos mais longe[/color:37z5onsw]!
- [color=#0000BF:37z5onsw]Concluindo sua dúvida, favor alterar o [u:37z5onsw]Assunto do Tópico[/u:37z5onsw]: de "[b:37z5onsw][i:37z5onsw]Sua Dúvida[/i:37z5onsw]...[/b:37z5onsw]" p/...

Please Entrar ou Registrar to join the conversation.

Mais
14 anos 8 meses atrás #44416 por Kleberson Kavalo
Kleberson Kavalo replied the topic: Re: Login em site externo mas que permaneça dentro do joomla
Virginia,
Andei pesquisando mais seu problema e achei estes objetos aqui:
http://extensions.joomla.org/extensions ... iple-sites

Muito provavelmente alguns destes será aderente a sua necessidade!!!

Abraços <!-- s:ugeek: --><img src="{SMILIES_PATH}/icon_e_ugeek.gif" alt=":ugeek:" title="Uber Geek" /><!-- s:ugeek: -->

[b:37z5onsw]Kleberson Rocha[/b:37z5onsw]
Portais Consultoria ([url:37z5onsw]http://www.portaisconsultoria.com.br[/url:37z5onsw]), desenvolvendo soluções na WEB!
- [color=#0080FF:37z5onsw]Sozinho, desenvolvo mais rápido, porém, [b:37z5onsw]juntos[/b:37z5onsw], chegaremos mais longe[/color:37z5onsw]!
- [color=#0000BF:37z5onsw]Concluindo sua dúvida, favor alterar o [u:37z5onsw]Assunto do Tópico[/u:37z5onsw]: de "[b:37z5onsw][i:37z5onsw]Sua Dúvida[/i:37z5onsw]...[/b:37z5onsw]" p/...

Please Entrar ou Registrar to join the conversation.

  • virginiarcruz
  • Avatar de virginiarcruz Autor do Tópico
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
14 anos 7 meses atrás #44659 por virginiarcruz
virginiarcruz replied the topic: Re: Login em site externo mas que permaneça dentro do joomla
obrigada pela ajuda pessoal, vou testar todas e posto aqui o resultado.

Please Entrar ou Registrar to join the conversation.