Login único para vários sistemas

191 views
Skip to first unread message

Márcio

unread,
Jan 17, 2013, 6:23:40 AM1/17/13
to web2py-us...@googlegroups.com
Seguinte galera, tenho 3 sistemas que usam a mesma base de dados porém funções distintas exceto a parte de cadastro básico.
A necessidade agora é criar um portal no qual o usuário faz altenticação e tem acesso aos sistemas para o qual ele tem direito.
Será que tem uma forma de fazer isso? Andei lendo o manual e vi formas de fazer altenticação direta, não achei nada do tipo já pegar a sessão aberta e usar, to meio sem idéia.
Ou coisa para unificar os cadastros, tem como usar já algo que está pronto em outra aplicação sem precisar refazer, tipo só fazendo referencia aos controllers/views?

Obrigado pessoal.

Bruno Rocha

unread,
Jan 17, 2013, 7:46:45 AM1/17/13
to web2py-us...@googlegroups.com


vc pode usar CAS (ja vem no web2py, mas eu não tenho experiencia com isso, sei que tem gente aqui na lista que ja usou)

Outra opcao é pelas sessions.

1. as sessions deve ser armazenadas em banco (em todas as apps, mesmo banco)
2. todas as apps devem ter um banco separado tbm para auth.
3. todas as apps devem usar a mesma hmak_key em auth = Auth(....)


Isso jã resolveria.


Vinicius Assef

unread,
Jan 17, 2013, 8:59:56 AM1/17/13
to web2py-us...@googlegroups.com
Márcio, complementando a resposta do Bruno sobre CAS, o que você vai
conseguir por default é simplesmente autenticar o usuário. Ou seja,
você saberá se o usuário + senha dele estão corretos.

Para entender melhor, imagine que seu sistema permitisse aos usuários
logarem com a conta do Twitter ou do Gmail. Em quê esse serviço te
ajudaria? Apenas em não duplicar o cadastro do usuário, certo? Se ele
resolvesse mudar a senha do Twitter/Gmail, ele poderia logar em seu
sistema com essa nova senha sem ter que mudar no seu sistema também.
Mas, seu sistema ainda assim precisaria gravar localmente a profile
desse usuário. Ou seja, o perfil de permissões do usuário não está
gravado lá no Twitter nem no Gmail.

É exatamente assim que funciona o CAS, por default. Somente para
autenticação e gerência de cadastro do usuário. Mas não conhece o
perfil de autorizações do usuário no sistema requisitante.

Talvez, Márcio, como seus sistemas parecem ser integrados, você
precise de um lugar único aonde você possa administrar em quais
sistemas seu usuário pode se logar e quais as permissões dele naqueles
sistemas. Isso o CAS não te dá. Mas, pensando um pouquinho mais, é
possível fazer, já que trabalhamos com OSS e o Auth do Web2py
implementa o modelo de permissões RBAC [1].

Já fiz algumas customizações no Auth que ficaram interessantes, mas
tem que estudar direitinho pra não desfocar o modelo de permissões nem
de autenticação do Web2py.

Mais detalhes sobre CAS estão no manual do Web2py [2], que recomendo a
leitura com bastante atenção.

[1] http://en.wikipedia.org/wiki/Rbac
[2] http://web2py.com/books/default/chapter/29/09#Central-Authentication-Service


--
Vinicius Assef




2013/1/17 Bruno Rocha <rocha...@gmail.com>:
> --
> Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
> Para enviar uma mensagem ao grupo, envie email a:
> web2py-us...@googlegroups.com
> Para se desinscrever, envie email a:
> web2py-users-br...@googlegroups.com
> Para mais opções, visite o site do grupo em:
> http://groups.google.com/group/web2py-users-brazil?hl=en
>
>

Márcio

unread,
Jan 17, 2013, 9:51:00 AM1/17/13
to web2py-us...@googlegroups.com
Já tinha lido sobre o CAS mas não consegui enquadrar no meu modelo.
O que estou pensando é em uma aplicação que faria somente a autenticação e gestão de usuários que seria meu portal o qual chamaria as outras aplicações, será que da para implementar assim?

Ovidio Marinho

unread,
Jan 17, 2013, 6:38:20 PM1/17/13
to web2py-us...@googlegroups.com
LDAP???
      


       Ovidio Marinho Falcao Neto
                Web Developer
             ovid...@gmail.com 
          ovidio...@itjp.net.br
                 ITJP - itjp.net.br
               83   8826 9088 - Oi
               83   9336 3782 - Claro
                        Brasil
              


Em 17 de janeiro de 2013 11:51, Márcio <marciolauri...@gmail.com> escreveu:
Já tinha lido sobre o CAS mas não consegui enquadrar no meu modelo.
O que estou pensando é em uma aplicação que faria somente a autenticação e gestão de usuários que seria meu portal o qual chamaria as outras aplicações, será que da para implementar assim?

Márcio

unread,
Jan 20, 2013, 9:00:03 AM1/20/13
to web2py-us...@googlegroups.com
LDAP não vi como usar no meu projeto Ovidio, o que testei e supre em partes é o CAS mas ainda estou nos teste.
Bruno os sessions parecem ser uma boa porem comecei implementar mas me compliquei no trabalho, você pode me dizer algo mais sobre?
Eu faria a autenticação baseada nos valores vindos das variáveis do session?


Em quinta-feira, 17 de janeiro de 2013 21h38min20s UTC-2, Ovidio Marinho escreveu:
LDAP???
      


       Ovidio Marinho Falcao Neto
                Web Developer
             ovid...@gmail.com 
          ovidio...@itjp.net.br
                 ITJP - itjp.net.br
               83   8826 9088 - Oi
               83   9336 3782 - Claro
                        Brasil
              


Em 17 de janeiro de 2013 11:51, Márcio <marciolauri...@gmail.com> escreveu:
Já tinha lido sobre o CAS mas não consegui enquadrar no meu modelo.
O que estou pensando é em uma aplicação que faria somente a autenticação e gestão de usuários que seria meu portal o qual chamaria as outras aplicações, será que da para implementar assim?

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-brazil+unsub...@googlegroups.com

Ovidio Marinho

unread,
Jan 20, 2013, 9:18:15 AM1/20/13
to web2py-us...@googlegroups.com
Bom não testei nada sobre isto , muitos logins para todas as aplicações que eu conheço é o LDAP, em web2py parece haver algo como:

auth.settings.login_methods.append(ldap_auth(...)) 

Precisa olhar a documentação sobre isto , mas parece funcionar.Pelo menos tem muitos posts com duvidas sobre o assunto.
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com

Ovidio Marinho

unread,
Jan 20, 2013, 12:54:56 PM1/20/13
to web2py-us...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages