none
Dúvida sobre Sessions RRS feed

  • Pergunta

  • Bom dia pessoal ! Estou com dúvidas simples(para quem já sabe) sobre Sessions !

    Antes de bombardea-los com perguntas hehe. gostaria de citar que já olhei alguns tópicos aqui no msdn  Thread sobre Session e em outros forums também. 
    Gostaria de saber:
    Como fazer exatamente para criar, setar o timeout , fazer retornar para a página de log in caso não esteja logado etc...

    Eu sei que, no link que postei aqui já mostra isso, só que eu tentei e o timeout não funcionou... Até com WebConfig eu tentei e não funcionou, li algo sobre Authentication Mas não consegui fazer. Então venho humildemente pedir-lhes ajuda para resolver este problema (È para meu trabalho).

    Agradeço atenção !

    sexta-feira, 4 de janeiro de 2013 13:34

Respostas

  • Alan o timeout da session eu deixo sempre com o vaor padrão no IIS portanto não mexo nisso, qto a saber se um usuário se logou na página vc tem que fazer esse teste no load de todas as páginas, se o usuario se logar e vc não usar a classe membershipprovider o teste para saber se o usuário esta loga é assim :

    if (String.IsnullorEmpty(session["nomedasession"]))

    Se vc usar a classe membershipprovider basta vc verificar

    if (!Request.IsAuthenticated)

    Nos casos acima ele nao logou e a sessao é vazia ou nula entao vc redireciona para a pagina de login.

    Para sistemas com muitos acessos eu tive problemas com sessions pq o gerenciamento delas é feito pelo IIS, tenho umm sistema que é muito acessado, para ele fiz assim, o usuário se loga eu gravo o acesso dele em uma tabela com a data e hora, gravo isso em um cookie criptografado, a cada página testo a data e hora se passar de um determinado tempo eu mando o usuário se logar novamente, qdo ele sai da aplicação eu deleto o registro dele da tabela, essa tabela é enxuta e funciona perfeito.


    Junior

    sexta-feira, 4 de janeiro de 2013 17:36

Todas as Respostas

  • Alan o timeout da session eu deixo sempre com o vaor padrão no IIS portanto não mexo nisso, qto a saber se um usuário se logou na página vc tem que fazer esse teste no load de todas as páginas, se o usuario se logar e vc não usar a classe membershipprovider o teste para saber se o usuário esta loga é assim :

    if (String.IsnullorEmpty(session["nomedasession"]))

    Se vc usar a classe membershipprovider basta vc verificar

    if (!Request.IsAuthenticated)

    Nos casos acima ele nao logou e a sessao é vazia ou nula entao vc redireciona para a pagina de login.

    Para sistemas com muitos acessos eu tive problemas com sessions pq o gerenciamento delas é feito pelo IIS, tenho umm sistema que é muito acessado, para ele fiz assim, o usuário se loga eu gravo o acesso dele em uma tabela com a data e hora, gravo isso em um cookie criptografado, a cada página testo a data e hora se passar de um determinado tempo eu mando o usuário se logar novamente, qdo ele sai da aplicação eu deleto o registro dele da tabela, essa tabela é enxuta e funciona perfeito.


    Junior

    sexta-feira, 4 de janeiro de 2013 17:36
  • Alan o timeout da session eu deixo sempre com o vaor padrão no IIS portanto não mexo nisso, qto a saber se um usuário se logou na página vc tem que fazer esse teste no load de todas as páginas, se o usuario se logar e vc não usar a classe membershipprovider o teste para saber se o usuário esta loga é assim :

    if (String.IsnullorEmpty(session["nomedasession"]))

    Se vc usar a classe membershipprovider basta vc verificar

    if (!Request.IsAuthenticated)

    Nos casos acima ele nao logou e a sessao é vazia ou nula entao vc redireciona para a pagina de login.

    Para sistemas com muitos acessos eu tive problemas com sessions pq o gerenciamento delas é feito pelo IIS, tenho umm sistema que é muito acessado, para ele fiz assim, o usuário se loga eu gravo o acesso dele em uma tabela com a data e hora, gravo isso em um cookie criptografado, a cada página testo a data e hora se passar de um determinado tempo eu mando o usuário se logar novamente, qdo ele sai da aplicação eu deleto o registro dele da tabela, essa tabela é enxuta e funciona perfeito.


    Junior

    Primeiramente desculpas pela demora para dar um feedback, é que está uma correria do cão entre trabalho e termino do meu TCC ;~
    Gostei mesmo  desta ideia da tabela, vou considerar a hipótese de aderir ao seu método (imitããão hehe ).

    Bom, o grade problema na verdade é assim: Setando OU NÂO o timeout apos uns +ow- 30segundos (as vezes menos e as vezes um pouco mais ) caso eu desse refresh na página ou clicasse em algum botão/link . . . Ele voltava para a página de log in, era como se a session se perdesse no meio do caminho... Alguma dica sobre isto ?



    • Editado Alan Naidon terça-feira, 8 de janeiro de 2013 16:06
    terça-feira, 8 de janeiro de 2013 13:51