Sistema de controle de acesso

8 respostas
F

Olá
Os sistemas de controle de acesso que vejo nos foruns e em muitos sites são feitos usando sessão. Ou seja, se eu quiser proteger uma página eu verifico se tem um atributo na sessão.

Não teria alguma outra forma de fazer esse controle?
Eu sei que existe um design pattern , o intercept view, mas como que eu aplico ele?

8 Respostas

L

Olá amigo,
bom eu utilizo sessão tb, não teria nenhum exemplo disso que vc citou, porém acredito que utilizando Sessão seja bem seguro o controle de acesso as páginas, caso queira um exemplo.

Abraço

M

“furutani”:

Não teria alguma outra forma de fazer esse controle?
Eu sei que existe um design pattern , o intercept view, mas como que eu aplico ele?

Só uma correção…
é Intercepting Filter. :oops:

Bem o pattern Intercepting Filter tem a responsabilidade de interceptar requisições vindas do cliente antes que cheguem ao Front Controller…

Para saber mais…

J2EE Patterns

No java jah existe uma implementação que contempla este pattern.
Pesquise sobre Filters. :wink:

Boa Diversao!

F

É isso ai mesmo :grin:

“mbjunior”:

Bem o pattern Intercepting Filter tem a responsabilidade de interceptar requisições vindas do cliente antes que cheguem ao Front Controller…
Para saber mais…
No java jah existe uma implementação que contempla este pattern.
Pesquise sobre Filters. :wink:

Mas usando filters eu terei que continuar a usar a sessão ou não?
Se um cliente digitar no browser www.site.com.br/paginaProtegida.jsp e cara não tiver logado os Filters podem redirecionar para a página de login?

M

“furutani”:
“mbjunior”:

Só uma correção…
é Intercepting Filter. :oops:

É isso ai mesmo :grin:

“mbjunior”:

Bem o pattern Intercepting Filter tem a responsabilidade de interceptar requisições vindas do cliente antes que cheguem ao Front Controller…
Para saber mais…
No java jah existe uma implementação que contempla este pattern.
Pesquise sobre Filters. :wink:

Mas usando filters eu terei que continuar a usar a sessão ou não?
Se um cliente digitar no browser www.site.com.br/paginaProtegida.jsp e cara não tiver logado os Filters podem redirecionar para a página de login?

Com certeza!
Filters servem tambem para modularizar o Controller, onde este deve ser responsável somente pelo fluxo das requisições.
os Filters podem ficar responsáveis pela verificação se um usuário está logado ou não…
Depois de fazer esta verificação os filters( sim! vc pode ter mais de um filter ) dispacham a requisição pro controller…
Mas em relação a sessão vc ainda terá que utilizar…
ou HttpSession ou SessionBean StateFull para poder verificar de um usuario possui sessão ou nao.! :wink:

S

Então…
Session é para transformar o HTTP que é stateless em um protocolo statefull.
ela é implementada através de cookies ou de URL rewriting

se você não quer usar sessão, você pode pode também usar o campo escondido do http “hidden” mas fica porco, você teria que usar sempre formulários e o método POST e todas as suas páginas teriam que ser dinâmicas.

utilize sessão que é mais simples. não reinvente a roda!

[]s

M

“Samuel_Pessorrusso”:
Então…
Session é para transformar o HTTP que é stateless em um protocolo statefull.
ela é implementada através de cookies ou de URL rewriting

Bem não entendi muito bem como transformar Http em protocolo com estado mas tudo bem…

O que ocorre é que no servidor os Sessions Stateful serão gerenciados pelo container…
Onde o container irá ativar uma instancia qnd uma sessão de um usuário for requisitada e qnd uma sessão espirar será feito o processo de passivação de Session…
Provendo assim o Pool de SessionBeans. Qnd o usuário q perdeu a sessão requisitar novo acesso o container irá verificar na area de passivação informações referentes a este e irá ativar um Session aproveitando os que estão no Pool.

F

Obrigado pelas respostas. Tive pensando com o tico e o teco…
se eu fizer algo assim o Struts ou Webwork usam um sistema de mapeamento dos servlets, toda requisição que terminar com *.do o container redireciona para um servlet.
Com isso eu acho que posso fazer o mesmo com os JSP, eu crio um extensão (por exemplo *.view) e faço um servlet que intercepta essa requisição, verifica se o usuario está logado, se estiver da um Dispatcher pra página jsp correspondente.

Não é uma boa idéia? :pensativo:

M

“furutani”:
Obrigado pelas respostas. Tive pensando com o tico e o teco…
se eu fizer algo assim o Struts ou Webwork usam um sistema de mapeamento dos servlets, toda requisição que terminar com *.do o container redireciona para um servlet.
Com isso eu acho que posso fazer o mesmo com os JSP, eu crio um extensão (por exemplo *.view) e faço um servlet que intercepta essa requisição, verifica se o usuario está logado, se estiver da um Dispatcher pra página jsp correspondente.

Não é uma boa idéia? :pensativo:

Vc não precisa criar um mecanismo de requisição *.view para seu filter e outro *.do para seu controller…

O Filter já intercepta a requisição transparentemente…
:wink:

Criado 27 de janeiro de 2005
Ultima resposta 28 de jan. de 2005
Respostas 8
Participantes 4