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
