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
