Rafael, Toda informação é válida. Eu tenho muito mais experiência em Java do que em Flex e quando surgiu essa necessidade a solução do Rodrigo me pareceu e parece muito interessante. Quanto a usar Producer/Consumer e SharedObject eu nunca utilizei então infelizmente não tenho uma opinião a respeito mas vou atrás de mais informação eles. De repente é uma alternativa. Se puder dar uma breve explanada de como funciona o esquema de Producer/Consumer e SharedObject pra mim seria de grande valia.
Att 2011/9/1 Rafael Bandeira Rodrigues <[email protected]> > 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 > -- []'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
