sessoes no moodle (integração de sistemas)

374 views
Skip to first unread message

Tiago Floriano

unread,
Aug 18, 2011, 1:20:32 PM8/18/11
to php-b...@googlegroups.com
Olá pessoal,

usamos um sistema próprio e moodle aqui na empresa. Estou tentando
implementar um login único entre os 2 sistemas. Estou a 1 linha de
código de conseguir mas, me deparei com o paranormal:

implantei meu código, que faz o login no meu sistema, dentro do
/cursos/login/index.php, que faz o login no moodle. Assim, num só
arquivo, ele faz o login nos 2 sistemas ao mesmo tempo. Neste trecho
de código crio minhas SESSIONS com login e senha criptografada do
usuário. Ele consegue fazer o login nos 2 sistemas mas, ao ser
direcionado para qualquer outra página, a sessão do meu sistema deixa
de existir. Inclusive dou um exit; logo em seguida que registro a
session e ainda sim, ela "desaparece".

Alguém já passou por algo semelhante?

Eduardo Kraus

unread,
Aug 18, 2011, 4:11:43 PM8/18/11
to php-b...@googlegroups.com
Ola

O que fiz foi fazer a session integrada através de banco de dados. O Moodle traz isso para ser configurado e em meu sistema foi só acrescentar a funcionalidade.

Agora via arquivo físico tem que cuidar pois o Moodle adiciona na session a PATH, que só vale para o Moodle. Se você instala o Moodle dentro de /curso/ ele muda o path da session para /curso/

Ai terás duas possíbilidades
  1. Procurar no Moodle e mudar esta funcionalidade
  2. Fazer login só em seu sistema e no Moodle reconhecer esta session.

Eduardo Kraus

Professor 

+55 48 8843-3423
kr...@eduardokraus.com
www.eduardokraus.com
www.twitter.com/EduardoKraus




--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.


Eduardo Alexandre

unread,
Aug 18, 2011, 4:30:57 PM8/18/11
to php-b...@googlegroups.com
Essa solução realmente parece bem acertada.

Seria possível também ter uma tabela única com os users.
Quando autenticar no Moodle, update na tabela para que, se tentar acessar o outro sistema, também libere o acesso.
Caso realize logoff de qualquer um dos dois sistemas, faz update de novo, registrando que a sessão foi encerrada e será necessário novo login.
Mas..............
Aí teria que customizar o moodle e, no lançamento de nova versão haveria retrabalho. :)

Foi só um palpite :P

Abraços,
____________________
Eduardo Alexandre

Eduardo Kraus

unread,
Aug 18, 2011, 5:28:57 PM8/18/11
to php-b...@googlegroups.com
Ola

O que fiz de integração entre usuários foi apenas replicar as atualizações do sistema de gestão para o Moodle. Retirei as opções de atualizar nome, e-mail e senha no Moodle. Ai qualquer alteração deste tipo só no outro ambiente.

paico

unread,
Aug 19, 2011, 9:05:43 AM8/19/11
to php-brasil
Eduardo Kraus, quanto a tua primeira resposta, tentei também recuperar
a session que é gerada pelo moodle e sem sucesso... tentei criar as
minhas sessions e recuperar no meu sistema e, também sem sucesso...

Eduardo Alexandre, era justamente esse trabalhão que queria evitar.
Apesar que também não consigo recuperar a session criada pelo moodle
no meu sistema... Veja que simples que foi: tenho uma função
fazLogin($_POST['usuario'],$_POST['senha']) que faz tudo (trata
variáveis, faz verificação, autentica ou não, se autentica, cria
sessions). Inseri essa função em um trecho do arquivo /cursos/login/
index.php. Logo depois dessa função, criei um alert em js só pra ver
se ele tinha criado as sessions e, logo em seguida fiz o
redirecionamento e um exit pra ele não ler absolutamente mais nada
daquele código do moodle. Ou seja, sem chances de ele destruir aquelas
sessions. Quando é redirecionado para o meu sistema, "puff"! Não
existem mais sessions. Nunca me ocorreu isso. Pensei até que talvez a
sessão em questão estivesse sendo identificada de alguma forma e, como
não identifico no meu sistema, ele não recupera, enfim...





On Aug 18, 6:28 pm, Eduardo Kraus <eduardokr...@gmail.com> wrote:
> Ola
>
> O que fiz de integração entre usuários foi apenas replicar as atualizações
> do sistema de gestão para o Moodle. Retirei as opções de atualizar nome,
> e-mail e senha no Moodle. Ai qualquer alteração deste tipo só no outro
> ambiente.
> *
> Eduardo Kraus*
> Professor
> +55 48 8843-3423
> kr...@eduardokraus.comwww.eduardokraus.comwww.twitter.com/EduardoKraus
>
> Em 18 de agosto de 2011 17:30, Eduardo Alexandre
> <eduardog...@gmail.com>escreveu:
>
>
>
>
>
>
>
> > Essa solução realmente parece bem acertada.
>
> > Seria possível também ter uma tabela única com os users.
> > Quando autenticar no Moodle, update na tabela para que, se tentar acessar o
> > outro sistema, também libere o acesso.
> > Caso realize logoff de qualquer um dos dois sistemas, faz update de novo,
> > registrando que a sessão foi encerrada e será necessário novo login.
> > Mas..............
> > Aí teria que customizar o moodle e, no lançamento de nova versão haveria
> > retrabalho. :)
>
> > Foi só um palpite :P
>
> > Abraços,
> > ____________________
> > Eduardo Alexandre
>
> > Em 18 de agosto de 2011 17:11, Eduardo Kraus <eduardokr...@gmail.com>escreveu:
>
> >> Ola
>
> >> O que fiz foi fazer a session integrada através de banco de dados. O
> >> Moodle traz isso para ser configurado e em meu sistema foi só acrescentar a
> >> funcionalidade.
>
> >> Agora via arquivo físico tem que cuidar pois o Moodle adiciona na session
> >> a PATH, que só vale para o Moodle. Se você instala o Moodle dentro de
> >> /curso/ ele muda o path da session para /curso/
>
> >> Ai terás duas possíbilidades
>
> >>    1. Procurar no Moodle e mudar esta funcionalidade
> >>    2. Fazer login só em seu sistema e no Moodle reconhecer esta session.
>
> >> *
> >> Eduardo Kraus*
> >> Professor
> >> +55 48 8843-3423
> >> kr...@eduardokraus.com
> >>www.eduardokraus.com
> >>www.twitter.com/EduardoKraus
>

rogerio silva

unread,
Aug 19, 2011, 10:31:35 AM8/19/11
to php-b...@googlegroups.com
bom dia,

No forum do moodle tem algumas dicas ref. sessoes do moodle e integração entre outros sistemas ;) da uma olhadinha lá :)

--

Rogerio Siqueira
Administrador de Redes / Segurança
Consultor / Desenvolvedor Moodle - EAD
Software Livre - Linux / Unix
educação: www.educsp.com
tel. 9852-8302 / 74366891
skype: triscelo
msn: elotri...@hotmail.com
gtalk: tris...@gmail.com

paico

unread,
Aug 22, 2011, 7:29:12 AM8/22/11
to php-brasil
Bah, vou dar uma catada lá, vlw :)



On Aug 19, 11:31 am, rogerio silva <roge...@educsp.com> wrote:
> bom dia,
> No forum do moodle tem algumas dicas ref. sessoes do moodle e integração entre outros sistemas ;) da uma olhadinha lá :)
> --Rogerio Siqueira
> Administrador de Redes / Segurança
> Consultor / Desenvolvedor Moodle - EAD
> Software Livre - Linux / Unix
> educação:www.educsp.com
> tel. 9852-8302 / 74366891
> skype: triscelo
> msn:elotri...@hotmail.com
> gtalk:tris...@gmail.com
> Em 19/08/2011 10:05, paico escreveu:Eduardo Kraus, quanto a tua primeira resposta, tentei também recuperar a session que é gerada pelo moodle e sem sucesso... tentei criar as minhas sessions e recuperar no meu sistema e, também sem sucesso... Eduardo Alexandre, era justamente esse trabalhão que queria evitar. Apesar que também não consigo recuperar a session criada pelo moodle no meu sistema... Veja que simples que foi: tenho uma função fazLogin($_POST['usuario'],$_POST['senha']) que faz tudo (trata variáveis, faz verificação, autentica ou não, se autentica, cria sessions). Inseri essa função em um trecho do arquivo /cursos/login/ index.php. Logo depois dessa função, criei um alert em js só pra ver se ele tinha criado as sessions e, logo em seguida fiz o redirecionamento e um exit pra ele não ler absolutamente mais nada daquele código do moodle. Ou seja, sem chances de ele destruir aquelas sessions. Quando é redirecionado para o meu sistema, "puff"! Não existem mais sessions. Nunca me ocorreu isso. Pensei até que talvez a sessão em questão estivesse sendo identificada de alguma forma e, como não identifico no meu sistema, ele não recupera, enfim... On Aug 18, 6:28 pm, Eduardo Kraus<eduardokr...@gmail.com>wrote:Ola O que fiz de integração entre usuários foi apenas replicar as atualizações do sistema de gestão para o Moodle. Retirei as opções de atualizar nome, e-mail e senha no Moodle. Ai qualquer alteração deste tipo só no outro ambiente. * Eduardo Kraus* Professor +55 48 8843-3423kr...@eduardokraus.comwww.eduardokraus.comwww.twitter.com/EduardoKrausEm 18 de agosto de 2011 17:30, Eduardo Alexandre<eduardog...@gmail.com>escreveu:Essa solução realmente parece bem acertada.Seria possível também ter uma tabela única com os users. Quando autenticar no Moodle, update na tabela para que, se tentar acessar o outro sistema, também libere o acesso. Caso realize logoff de qualquer um dos dois sistemas, faz update de novo, registrando que a sessão foi encerrada e será necessário novo login. Mas.............. Aí teria que customizar o moodle e, no lançamento de nova versão haveria retrabalho. :)Foi só um palpite :PAbraços, ____________________ Eduardo AlexandreEm 18 de agosto de 2011 17:11, Eduardo Kraus<eduardokr...@gmail.com>escreveu:OlaO que fiz foi fazer a session integrada através de banco de dados. O Moodle traz isso para ser configurado e em meu sistema foi só acrescentar a funcionalidade.Agora via arquivo físico tem que cuidar pois o Moodle adiciona na session a PATH, que só vale para o Moodle. Se você instala o Moodle dentro de /curso/ ele muda o path da session para /curso/Ai terás duas possíbilidades   1. Procurar no Moodle e mudar esta funcionalidade    2. Fazer login só em seu sistema e no Moodle reconhecer esta session.* Eduardo Kraus* Professor +55 48 8843-3423kr...@eduardokraus.comwww.eduardokraus.comwww.twitter.com/EduardoKrausEm 18 de agosto de 2011 14:20, Tiago Floriano<webmaster...@gmail.com>escreveu:Olá pessoal,usamos um sistema próprio e moodle aqui na empresa. Estou tentando implementar um login único entre os 2 sistemas. Estou a 1 linha de código de conseguir mas, me deparei com o paranormal:implantei meu código, que faz o login no meu sistema, dentro do /cursos/login/index.php, que faz o login no moodle. Assim, num só arquivo, ele faz o login nos 2 sistemas ao mesmo tempo. Neste trecho de código crio minhas SESSIONS com login e senha criptografada do usuário. Ele consegue fazer o login nos 2 sistemas mas, ao ser direcionado para qualquer outra página, a sessão do meu sistema deixa de existir. Inclusive dou um exit; logo em seguida que registro a session e ainda sim, ela "desaparece".Alguém já passou por algo semelhante?-- Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google. Para postar neste grupo, envie um e-mail paraphp...@googlegroups.com. Para cancelar a inscrição nesse grupo, envie um e-mail paraphp-brasi...@googlegroups.com. Para obter mais opções, visite esse grupo emhttp://groups.google.com/group/php-brasil?hl=pt-BR. -- Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos...
>
> read more »
Reply all
Reply to author
Forward
0 new messages