Ola pessoal, bom dia.
Estou trabalhando num projeto de autenticação e controle de acesso de usuários, e me surgiu o seguinte problema, quando um usuário se autentica eu gravo uma sessão com os dados de permissões para outras aplicações do sistema, o problema é que cada usuário que se autentica posterior ao primeiro acaba pegando a mesma sessão, como se não fosse criada uma para cada usuário. Como é a primeira vez que trabalho com sessão não sei o que pode esta acontecendo, gostaria de saber se alguem tem alguma ideia, e se possível me dar uma dica de como resolver esse problema, desde já obrigado.
Você está logando com varios usuarios na mesma maquina? Com qual browser?
B
BatistaPJ
“jairelton”:
E como você sabe que é a mesma?
Você está logando com varios usuarios na mesma maquina? Com qual browser?
Essa é a minha duvida, o servlet não pega a sessâo automaticamente, ou eu tenho que dizer para ele pegar a sessão que foi criada na autenticação.
pelo que entendi ao ler alguns assuntos ele deveria pegar automaticamente em cada browse que cria a sessão…?
Estou usando o internet explorer.
J
jaireltonPJ
Como assim “pega automaticamente”?
Tente logar em browsers diferentes e veja se ele muda a sessão…
E como é que você sabe que é igual?
B
BatistaPJ
“jairelton”:
Como assim “pega automaticamente”?
Tente logar em browsers diferentes e veja se ele muda a sessão…
E como é que você sabe que é igual?
é isso que estou fazendo eu logo com outro usuario, gravo permissoes para aquele usuario so que ele pegar as permissoe do primeiro usuario que logou isso é que não consigo entender como ele esta fazendo isso…
J
jaireltonPJ
Como você seta essas permissões?
B
BatistaPJ
Cada usuário esta gravado em um banco mysql. Quando autentico o usuário, pego ás permissões dele e coloco em uma lista, essa lista gravo na sessão, e redireciono o usuario para a tela principal do sistema, la quando o usuário for entrar em qualquel opção pego a lista da sessão e obtenho as permissoe para a opcao que o usuario escolheu, caso ele não tenha permisão trago uma mensagem que ele nao pode acessar aquele menu, caso contrario redireciona para opcao desejada…
é isso ai…
J
jaireltonPJ
Confira então essa lista antes e depois de coloca-la na sessão, provavelmente há algum erro na criação dessa lista, ou quando você faz a verificação da permissão… não na sessão, faça um teste por exemplo, colocando um valor qualquer (String) na sessão e depois pegue ele e veja se é diferente… com certeza será!
B
BatistaPJ
Eu vou conferir, mas tenho certeza que estavindo corretamento do banco, so se o problema for quando estou criando asessao, em vez de criar mantem a mesma vou fazer alguns testes para tentar descobrir, obrigado mesmo assim…
B
BatistaPJ
Obrigado já descrobri onde estava o erro…
Eu criava uma lista com Vector() desta forma,
Vector Lista = new Vector();
Acontecia o seguinte, conforme os usuarios iam logando eu gravava as permisões deles nessa lista, só que deveria ser uma lista para cada usuario que logasse, o que acontecia era que essa lista estava sendo incrementada com as permissoes dos usuarios que iam logando, como eu sempre pegava as 5 posicoe da lista, sempre vinha as informacoes do primeiro usuario que logou. Para resolver o problema fiz assim, para criar a lista.
Vector Lista = null;
Lista = new Vector();
Ai adiciono as permissoes do usuario, assim toda vez que um usuario logar, a lista sempre ta vazia.