Ok isso seria um ponto, mas a verificação do estado login simultaneo da para
resolver com o Producer e Consumer e o proprio SharedObject.

Aqui por exemplo tenho na aplicação, a criação do producer e consumer
mediante o login que é feito por RemoteObject para uma consulta SQL que me
retorna os dados do login a serem guardados no SharedObject. o Producer e
Consumer tem esse controle de login para o modelo SaaS. Não cheguei a testar
se o login feito com um intervalo longo existe esse reconhecimento de
duplicidade, alias vou testar, mas acredito que isso funcione como o
controle.

Enfim como falei estou só colocando minhas experiencias e tentando descobrir
novos caminhos

Obrigado,

Rafael Bandeira Rodrigues
Chief Executive Officer
FlagNet - Soluções em Tecnologia
http://www.flagnet.inf.br/

Adobe ColdFusion 8 Certified Expert
Adobe ColdFusion MX 7 Certified Developer
Adobe Certified Professional
Adobe Certified Instructor
Adobe Certified Expert
Fusebox - BRASIL
http://www.fusebox.com.br/
RafaBand - BlogSpot.com
http://rafaband.blogspot.com/
FlagNet - Twiter
http://twitter.com/flagnet/

"Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É
necessário também a ação" - William Shakespeare



Em 1 de setembro de 2011 14:21, Leonardo Ribeiro
<[email protected]>escreveu:

> Rodrigo,
>
> Entendi, mas no caso de eu precisar realmente "dar logout" no usuário
> depois de certo tempo sem atividade essa abordagem não vai funfar neh?
>
> @Rafael
>
> Ele mantém o usuário no server para poder verificar no ato de um login se
> tal usuário já está logado no sistema.
>
>
>
>
> 2011/9/1 Rafael Bandeira Rodrigues <[email protected]>
>
>> Rodrigo a título de curioside, até porque esse assunto me interessa.
>>
>> Do ponto de vista "funciona" eu entendi a solução, mas do ponto de vista
>> "solução" imagino que gere um problema. se você faz uma requisição a cada
>> 5min para cada usuário para manter ele logado, isso não pode gerar um
>> problema de acessos? se eu colocar 300 usuários dentro da aplicação isso
>> gera 1 ping por segundo, e me gera uma necessidade de ter um server com
>> maior capacidade de processamento.
>>
>> Por outro lado, tirando funcionalidades como chat ou living data não vejo
>> porque manter o user no server, uma vez que é possivel ter esse tipo de
>> recurso de login atraves do SharedObject. Exsite algum beneficio nessa
>> session no server?
>>
>>
>>
>> Obrigado,
>>
>> Rafael Bandeira Rodrigues
>> Chief Executive Officer
>> FlagNet - Soluções em Tecnologia
>> http://www.flagnet.inf.br/
>>
>> Adobe ColdFusion 8 Certified Expert
>> Adobe ColdFusion MX 7 Certified Developer
>> Adobe Certified Professional
>> Adobe Certified Instructor
>> Adobe Certified Expert
>> Fusebox - BRASIL
>> http://www.fusebox.com.br/
>> RafaBand - BlogSpot.com
>> http://rafaband.blogspot.com/
>> FlagNet - Twiter
>> http://twitter.com/flagnet/
>>
>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É
>> necessário também a ação" - William Shakespeare
>>
>>
>>
>> Em 1 de setembro de 2011 10:18, Rodrigo Valentim <
>> [email protected]> escreveu:
>>
>> Sim. O Tomcat remove sua sessão apos o timer.. meu timer aqui é de
>>> 5minutos... então, dessa forma o usuário pode passar 1 hora olhando pro
>>> monitor e a sessão não cai devido ao metodo pingSession() que existe no
>>> java... esse metodo é apenas para manter a comunicação viva... e assim, a
>>> sessão também (imagine você preenchendo um formulario que só manda pro java
>>> qdo acaba tudo... a sessão vai morrer, então você implementa um timer no
>>> flex que faz uso do remoteObject chamando esse metodo pingSession() (ou
>>> qualquer outro nome).
>>>
>>> Exatamente desta forma, consegui resolver meu problema para guardar o
>>> usuário logado... nunca mais tive problemas com isso!
>>>
>>>
>>>
>>> Em 31 de agosto de 2011 16:11, Leonardo Ribeiro 
>>> <[email protected]>escreveu:
>>>
>>> @ Rodrigo
>>>>
>>>> Após ler as opiniões e sugestões dos colegas da lista resolvi testar a
>>>> sua solução e tenho algumas perguntas:
>>>>
>>>> Se eu subo o tomcat e faço o login na aplicação, o usuário é colocado na
>>>> sessão e se fico mais do que o tempo
>>>> configurado para o timeout o usuário é retirado de (usuariosLogados) e
>>>> (abaixo o log)
>>>>
>>>> FlexClient destruido: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31
>>>> 15:53:01 BRT 2011
>>>> Sessão destruida: Wed Aug 31 15:53:01 BRT 2011
>>>> Sessão criada: Wed Aug 31 15:53:01 BRT 2011
>>>> FlexCliente criado: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31
>>>> 15:53:01 BRT 2011
>>>>
>>>> FlexClient e sessao destruida e recriada...
>>>>
>>>> Se eu continuo a não utilizar no console eu vejo o mesmo log
>>>>
>>>> FlexClient destruido: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31
>>>> 15:59:15 BRT 2011
>>>> Sessão destruida: Wed Aug 31 15:59:15 BRT 2011
>>>> Sessão criada: Wed Aug 31 15:59:15 BRT 2011
>>>> FlexCliente criado: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31
>>>> 15:59:15 BRT 2011
>>>>
>>>> É isso mesmo?
>>>>
>>>> Outra coisa é que mesmo eu ficando tempo sem usar se eu tentar por
>>>> exemplo fazer
>>>> um cadastro eu consigo sem problema...
>>>>
>>>>
>>>>
>>>> 2011/8/31 Pedro Augusto Clemente de Melo <[email protected]>
>>>>
>>>>> Leonardo,
>>>>>
>>>>> Há pouco mais de um mês estava com o mesmo problema. Devo te avisar que
>>>>> não é algo tão trivial. Trabalho com um projeto com configurações bem
>>>>> semelhantes ao seu (uso Flex3 ao invés de 4).
>>>>>
>>>>> No BlazeDS existem classes chamadas "FlexSession" e "FlexContext". Com
>>>>> essas classes, no Java você consegue guardar uma referência para cada
>>>>> instância de um cliente Flex que você tiver.
>>>>>
>>>>> Esta referência é por instância de browser no cliente (duas abas do
>>>>> firefox são uma mesma FlexSession e duas janelas são duas FlexSessions, 
>>>>> não
>>>>> sei como ficaria no caso do Chrome onde você brinca com as abas jogando-as
>>>>> de uma janela para outra).
>>>>>
>>>>> A partir disso é possível implementar o login, logout e o timeout por
>>>>> sessão inativa. O problema é que ele só vai identificar uma atividade na
>>>>> sessão quando houver uma requisição para o servidor. No meu caso, existem
>>>>> formulários muito longos a serem preenchidos e a sessão dá timeout mesmo 
>>>>> com
>>>>> o usuário trabalhando. Não recorri à requisições esporádicas para manter a
>>>>> sessão aberta por isto não seria escalável em produção.
>>>>>
>>>>> Pelo menos no Flex3 existe um evento chamado "IDLE" que pode ajudar
>>>>> neste problema. Não estudei mais afundo por que tenho demandas com
>>>>> prioridade maior no momento.
>>>>>
>>>>> Espero ter ajudado e se você achar alguma solução, por favor,
>>>>> compartilhe!
>>>>>
>>>>> Abraço
>>>>>
>>>>> Em 31 de agosto de 2011 08:59, Rodrigo Valentim <
>>>>> [email protected]> escreveu:
>>>>>
>>>>> Leonardo,
>>>>>>
>>>>>>   Certa vez precisei fazer algo parecido e funcionou....
>>>>>>
>>>>>> A ideia original foi essa http://www.cauirs.com.br/rafael/?p=119
>>>>>>
>>>>>> Porém, se tu pesquisar por controle de usuário flex no google, aparece
>>>>>> outros exemplos.
>>>>>>
>>>>>> a forma que fiz foi mais simples. Todo usuário logado eu guardo em um
>>>>>> array
>>>>>>
>>>>>> Em 31 de agosto de 2011 08:26, Leonardo Ribeiro <
>>>>>> [email protected]> escreveu:
>>>>>>
>>>>>> Ah uma coisa que esqueci de mencionar no e-mail origial é que
>>>>>>> a app usar Flex 4 + BlazeDS + Java no server (com Spring e Hibernate)
>>>>>>>
>>>>>>>
>>>>>>> 2011/8/31 Leonardo Ribeiro <[email protected]>
>>>>>>>
>>>>>>>> Pessoal,
>>>>>>>>
>>>>>>>> Preciso implementar em uma app flex4 login e logout.
>>>>>>>> o login já é feito (com menus sendo criados dinamicamente de acordo
>>>>>>>> com os direitos do usuário), mas eu preciso de 2 coisas mais:
>>>>>>>>
>>>>>>>> 1 - guardar o usuário logado para que não seja possível logar
>>>>>>>> com o mesmo usuário duas vezes (mesmo browser outra aba, outra
>>>>>>>> janela
>>>>>>>> do mesmo browser ou outro browser - chrome e firefox por exemplo)
>>>>>>>>
>>>>>>>> 2 - ter opção de logout nas seguintes situações:
>>>>>>>> 2.1 - um botão "logout" na app
>>>>>>>> 2.2 - ao fechar o browser
>>>>>>>> 2.3 - ficar um determinado tempo sem usar a app
>>>>>>>>
>>>>>>>> para todos os casos de logout acima precisaria gravar um log no BD.
>>>>>>>>
>>>>>>>> Inicialmente não queria ter uma tabela para guardar o usuários
>>>>>>>> logados,
>>>>>>>> preferiria ter algum controle de sessão mesmo, se possível
>>>>>>>>
>>>>>>>> --
>>>>>>>> []'s
>>>>>>>> Leonardo
>>>>>>>>
>>>>>>>> Linux User #488650
>>>>>>>> Ubuntu User #27045
>>>>>>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> []'s
>>>>>>> Leonardo
>>>>>>>
>>>>>>> Linux User #488650
>>>>>>> Ubuntu User #27045
>>>>>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>>>>>>
>>>>>>> --
>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>>> [email protected]
>>>>>>> Para sair da lista, envie um email em branco para
>>>>>>> [email protected]
>>>>>>> Mais opções estão disponíveis em
>>>>>>> http://groups.google.com/group/flexdev
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Atenciosamente,
>>>>>>  Rodrigo Valentim
>>>>>>
>>>>>>  --
>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>> [email protected]
>>>>>> Para sair da lista, envie um email em branco para
>>>>>> [email protected]
>>>>>> Mais opções estão disponíveis em
>>>>>> http://groups.google.com/group/flexdev
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Pedro Augusto Clemente de Melo - PACM
>>>>> Ciência da Computação 2007-2
>>>>> (81) 8795-1112
>>>>>
>>>>> --
>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>> [email protected]
>>>>> Para sair da lista, envie um email em branco para
>>>>> [email protected]
>>>>> Mais opções estão disponíveis em
>>>>> http://groups.google.com/group/flexdev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> []'s
>>>> Leonardo
>>>>
>>>> Linux User #488650
>>>> Ubuntu User #27045
>>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>>>
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>>> Para sair da lista, envie um email em branco para
>>>> [email protected]
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>>
>>>
>>>
>>>
>>> --
>>> Atenciosamente,
>>> Rodrigo Valentim
>>>
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>> Para sair da lista, envie um email em branco para
>>> [email protected]
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>
>>  --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>
>
> --
> []'s
> Leonardo
>
> Linux User #488650
> Ubuntu User #27045
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a