Você está na página 1de 11

Este um post disponvel para assinantes MVP

Este post tambm est disponvel para assinantes da Java Magazine DIGITAL
ou para quem possui rditos DevMedia!
lique aqui para saber "omo a"essar este post
"#digo $onte post $avorito "omentrios
Java Magazine %%& ' (ndi"e
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
Anuncie | Loja | Publique | Assine | Fale conosco
Hospedagem web por Porta 80 Web Todos os Direitos Reservados a
DevMedia
26.515 pessoas curtiram DevMedia.
Plug-in social do Facebook
Curtir Curtir
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
1 de 11 30/07/2014 01:44 PM

Gostei )%*+ )*+
Artigo do tipo Tutorial
,e"ursos espe"iais neste artigo-
Artigo no estilo .olu/0o!
Sesses e Controle de Acesso
1este artigo2 veremos "omo implementar dois re"ursos bastante importantes em solu/3es
4eb baseadas em Java EE e2 mais espe"i$i"amente2 em Java.erver 5a"es- o "ontrole de
sess3es e o "ontrole de a"esso a re"ursos e $un"ionalidades de a"ordo "om o nvel de
permiss0o do usurio logado! 6ara isso2 tomaremos "omo base uma apli"a/0o "u7o tema $oi
es"ol8ido a dedo2 aproveitando esta po"a de alta temporada em pleno ver0o brasileiro- um
servi/o de aluguel de "8als em 9batuba2 litoral norte do estado de .0o 6aulo!
Em que situao o tema til
Este tema ser :til sempre que o leitor2 pro$issional de arquitetura e;ou desenvolvimento de
so$t4are2 optar pela plata$orma Java EE2 pela espe"i$i"a/0o Java.erver 5a"es e por sua
implementa/0o mais popular2 o 6rime5a"es2 para a "onstru/0o de apli"a/3es 4eb que
envolvem o a"esso de m:ltiplos usurios "ontrolados atravs de sess3es e "om variados
nveis de a"esso <s $un"ionalidades disponveis!
Apli"a/3es 4eb s0o "onstitudas2 normalmente2 de re"ursos e $un"ionalidades p:bli"os2
a"essveis a toda pessoa em "ontato "om a Internet2 e outros protegidos por nveis
espe"$i"os de a"esso! = muito "omum vermos2 em portais pela 4eb2 reas restritas para
"andidatos em treinamento2 $un"ionrios2 pro$essores2 administradores de sistemas2 e>ibidas
apenas mediante o $orne"imento de "reden"iais "om nvel de a"esso "ompatvel "om aquele
previamente "adastrado em sistemas de in$orma/0o rela"ionados! ?utro "omportamento
muito "omum em sistemas 4eb a e>ibi/0o de determinadas in$orma/3es sobre as quais o
leque de opera/3es permitidas varia de a"ordo "om o tipo de usurio! 6ara e>empli$i"ar2
imagine um sistema 8ipotti"o de "ontrole a"ad@mi"o- enquanto pro$essores possuem um
per$il que os permite digitar as notas de seus alunos2 estes :ltimos possuem um per$il um
pou"o mais restrito2 que s# os d a"esso < visualiza/0o de suas pr#prias notas! Embora a
in$orma/0o )nota+ se7a visvel para ambos os per$is de usurio )pro$essores e alunos+2 o
es"opo de atua/0o sobre ela varia sensivelmente!
2 Curtir Curtir
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
2 de 11 30/07/2014 01:44 PM
A Determinadas opera/3es2 para serem apresentadas e utilizadas2 e>igem autenti"a/0o de
usuriosB
A As atividades de um usurio autenti"ado perten"em a um "onte>to parti"ular de uso do
sistemaB
A 6ode 8aver atividades2 em um sistema2 que s# devem ser apresentadas a tipos espe"$i"os
de usurio!
Todas elas ser0o abordadas ao longo deste artigo2 na $orma de um tutorial e uma apli"a/0o
tema! 6ara e$eito de norteamento do leitor2 trabal8aremos "om as premissas estabele"idas a
seguir-
A C primeira "ara"tersti"a da lista a"ima2 ser atribudo o termo D"ontrole de a"essoEB
A C segunda2 atribuiremos os termos Dsess0oE e D"ontrole de sess0oEB
A 6or $im2 < ter"eira "ara"tersti"a2 atribuiremos o termo D"ontrole de per$is de a"essoE!
Fuando ini"iarmos o tutorial2 mais adiante2 tais premissas a7udar0o na identi$i"a/0o dos
"on"eitos a elas asso"iados e seu respe"tivo tratamento dentro das te"nologias adotadas!
E 7 que $alamos em te"nologia2 vamos analisar os $atos sob esta #ti"a a partir de agora! ?
mer"ado nos o$ere"e op/3es variadas para atingirmos um nvel satis$at#rio de seguran/a em
sistemas baseados na plata$orma Java EE e tambm $ora dela! Goa parte de todo o trabal8o
"onsiste na "on$igura/0o de bibliote"as2 $rame4orHs e outros re"ursos;sistemas rela"ionados2
restando bem pou"o a se $azer em termos de implementa/0o! Isto torna as "oisas bem mais
simples e geis2 mas o $ato que nem sempre $oi assim! Toda esta $a"ilidade de 8o7e
possvel prin"ipalmente devido a alguns mar"os muito signi$i"ativos2 dos quais desta"aremos
dois-
A Lan/amento do Java & "om amplo suporte a anota/3es2 tornando boa parte da "on$igura/0o
de sistemas2 de standalone a 4eb )passando in"lusive por mobile+2 muito mais simplesB
A Lan/amento do Java EE I2 "om destaque para a A6I de .ervlets *!J e DI2 permitindo a
"on$igura/0o de listeners e $iltros )e servlets tambm2 naturalmente+ a partir de anota/3es
muito simples de "ompreender e utilizar!
Alm desses epis#dios essen"iais da 8ist#ria da plata$orma Java2 importante desta"armos a
evolu/0o e>pressiva do $rame4orH Spring2 espe"ialmente do m#dulo Spring Security2 "om
poderosos re"ursos para "ontrole de a"esso2 $iltros2 redire"ionamento2 sess3es2 dentre
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
3 de 11 30/07/2014 01:44 PM
seus prop#sitos2 permitindo ao desenvolvedor in"orporar em suas apli"a/3es um alto grau de
robustez e "on$iabilidade! Atualmente2 este m#dulo um dos mais maduros do .pring e tem
sido apli"ado em solu/3es de in:meras empresas ao redor do mundo! 6ara mais in$orma/3es
sobre o .pring e2 espe"i$i"amente2 o .pring .e"uritK2 "onsulte a se/0o in!s ao $inal do
artigo!
1o tutorial a seguir2 veremos "omo desenvolver uma apli"a/0o em Java para a Leb usando
apenas os re"ursos disponveis na plata$orma Java EE e2 prin"ipalmente2 na espe"i$i"a/0o J.5
M e em sua implementa/0o mais popular2 o 6rime5a"es! A motiva/0o para a de$ini/0o deste
es"opo sugerir ao leitor uma re$le>0o a"er"a de uma prti"a de mer"ado muito "omum nos
dias de 8o7e2 que "lassi$i"aremos neste artigo "omo su"utili#ao! 5rame4orHs s0o a grande
onda da programa/0o orientada a "omponentes2 mas a alta variedade de Dpe/asE neste
D7ogoE tem trazido um e$eito "olateral preo"upante- a "ombina/0o de muitos $rame4orHs para
atender uma ne"essidade que2 muitas vezes2 seria sanada apenas por um ou dois deles!
? pro$issional dos dias de 8o7e "on8e"e bem pou"o o material "om que trabal8a em seu dia a
dia2 e algumas "ombina/3es de te"nologias s0o $requentemente utilizadas meramente por
terem sido2 em algum momento2 rotuladas no mer"ado "omo garantias absolutas e
inquestionveis de qualidade2 disponibilidade2 es"alabilidade e seguran/a! .er mesmoN .er
que2 ao longo do tempo2 a ne"essidade por agilidade n0o nos tem trazido "erta pressa pelo
resultado2 gerando de$i"i@n"ias e $ragilidades para as quais temos dado2 erradamente2 pou"a
aten/0o e importOn"iaN
Po7e observamos o .pring "omo padr0o "onsolidado de mer"ado! 10o que 8a7a algum
problema "om este $rame4orH2 embora seu uso possa ser at substitudo2 em alguns "asos2
"om re"ursos que o pr#prio Java EE I passou a o$ere"er )"omo o 7 men"ionado DI2
a"rQnimo para Context and Dependency Injection+! 6ara integra/0o entre sistemas2 por
e>emplo2 podemos $azer uso do .pring Integration2 mas e>istem alternativas bem
interessantes e muito poderosas igualmente $"eis de aprender e empregar2 "omo o Apac$e
Camel2 da 5unda/0o Apa"8e )vide se/0o in!s para re$er@n"ia a este pro7eto+! A re$le>0o
que estamos sugerindo para o leitor da Java Magazine2 prin"ipalmente para aqueles que 7
trabal8am "om )ou se interessam por+ desenvolvimento 4eb2 - e se2 um dia2 .pring n0o
$osse mais uma op/0oN omo as empresas e os pro$issionais reagiriam a um movimento
"omo esteN
A preo"upa/0o maior deste te>to que segue e>atamente esta- trazer para o leitor uma
proposta2 de "erta $orma2 minimalista2 que e>plore em uma intensidade maior os re"ursos de
uma espe"i$i"a/0o s#lida "omo a Java EE2 "omo alternativa para essas "ombina/3es
mer"adol#gi"as $requentemente en"ontradas por a! Estas "ombina/3es2 normalmente2
"on$iguram um uso muito aqum do poten"ial que "ada $rame4orH empregado possui2
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
4 de 11 30/07/2014 01:44 PM
desempen8o e na "omple>idade de sistemas2 alm de e>igir2 naturalmente2 pro$issionais
gabaritados em uma gama muito maior de te"nologias do que o realmente ne"essrio para se
"olo"ar apli"a/3es de qualidade em e>e"u/0o!
A apli"a/0o desenvolvida para este artigo engloba a e>ibi/0o das a"omoda/3es de "8als
lo"alizados em uma praia de 9batuba2 litoral norte do estado de .0o 6aulo! Todos os re"ursos
da apli"a/0o est0o protegidos e requerem autenti"a/0o do usurio2 que pode ser de tr@s
tipos! A Ta"ela % des"reve brevemente "ada um deles2 in$ormando seus respe"tivos nveis
de a"esso aos re"ursos o$ere"idos pelo sistema!
Ta"ela %& Tipos de usurio e seus nveis de a"esso!
.empre que pre"isarmos registrar as opera/3es realizadas por um usurio em uma apli"a/0o
4eb e2 prin"ipalmente2 manter dados produzidos e;ou "onsumidos em mem#ria ao longo do
perodo em que este usurio estiver em atividade2 estar usando o que se entende2 em
"omputa/0o2 por sesso!
9ma sess0o pode ser assim de$inida- Duma tro"a de in$orma/3es semipermanente2
interativaE2 ou ainda- Dum dilogo2 uma "onversa/0o ou reuni0o entre dois ou mais
dispositivos ou um "omputador e um usurioE!
R
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
5 de 11 30/07/2014 01:44 PM
? que vo"@ a"8ou deste postN
Gostei )%*+ )*+
Este post est disponvel para assinantes MS6!
Pedro Brigatto
Sou engenheiro da computao graduado pela UFSCar, especialista em Engenharia de Software pela UNIMEP,
certificado SCJP e SAP Netweaver (Java Stack). Atuo como consultor pela Avaya e tambm instrutor Java/Android
pelo Instituto de [...]
omentrio T Tire sua d:vida
Jilles ,agon8a
Artigo simplesmente $antsti"o!
on"eitos prti"os que realmente temos que usar no dia a dia
6arabns pela e>"elente matria 6edro
U8 V% anoW ' ,esponder

,ap8ael astro ?zelo!
Amigo2 parabns pelo artigo2 muito ob7etivo!
.# que pelo que eu entendi vo"@ n0o usou o JAA. e $ez uma inter"epta/0o nas requisi/3es PTT6 e assim
vo"@ mesmo "ontrola o a"esso ao sistema2 n0o issoN ? uso do JAA. n0o mel8orN 6ois quem R"ontrolaR
o servidor de apli"a/0oN
UWXs
U8 V% m@sW ' ,esponder

'autor( 6edro Grigatto
?i2 ,ap8ael! omo vaiN
,ealmente2 n0o usei JAA.!
? ob7etivo do artigo era mostrar "omo $azer uma inter"epta/0o de requests para veri$i"ar se 8
sess0o vlida !!! uma $orma Y"aseiraY de autenti"a/0o e "ontrole de sess3es! Deste artigo2
naturalmente2 d pr evoluir e $azer algo mais ba"ana2 mais "ompleto! ? ob7etivo do artigo2 at
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
6 de 11 30/07/2014 01:44 PM
responderia que sim2 o JAA. )ou o uso de algo "omo .pring .e"uritK+ traria para vo"@2 de Ygra/aY2
muito do que vo"@ teria que $azer na m0o pela $orma que eu apresentei no artigo!
,espondi sua perguntaN
Abra/os2
6edro
U8 V% m@sW ' ,esponder

,ap8ael astro ?zelo!
Mais uma vez parabns pelo artigo! .im2 vo"@ respondeu a min8a pergunta2 eu tin8a $i"ado meio
na duvida se era uma outra $orma de implementar o JAA. ou se era um JAA. RalternativoR!
Muito obrigado!
U8 V% m@sW ' ,esponder

LesleK ,ibeiro De astro
6arabns pelo artigo2 muito ob7etivo!
? artigo $i"ou muito Gom e de $"il entendimento!
.# que os $ontes que vo"@ disponibilizou $i"ou muito "on$uso! 9m e>!!! a $orma "omo vo"@ "ria a
persist@n"ia no ban"o e a parte da veri$i"a/0o se usurio est na sess0o ou n0o "om J %! 5i"a di$"il
entender "omo vo"@ $ez2 para tentar $azer pare"ido na min8a apli"a/0o2 a parte do "ontrole de a"esso esta
muito "on$uso!
9m detal8e eu a"8ei "on$uso por eu estar a"ostumado "om Pibernate! A"redito se vo"@ usasse $i"aria mais
$"il de entender!
?brigado!!!
U8 V% m@sW ' ,esponder

'autor( 6edro Grigatto
5ala2 LesleK! Tudo bemN
J6A realmente $a"ilita muita "oisa2 agiliza o trabal8o !!! mas gera mais depend@n"ia e2 pior que
isso2 $aria "om que o artigo $i"asse poludo! Inserindo Pibernate ou E"lipseLinH ou qualquer outra
implementa/0o de J6A ali geraria poten"ial de perda de interesse pelo te>to pelo simples $ato de
que2 ao e>pli"ar uma determinada A6I ou uma engine2 o artigo estaria $or/ando o leitor a e>er"itar
seus "on8e"imentos em uma srie de outras! Entende onde quero "8egar "om meu argumentoN
Este um dos prin"ipais $atores de leitores pararem uma determinada leitura no meio em artigos
mais t"ni"os !!! e e>atamente o que eu pro"uro evitar! E isso2 a"redite2 traz ainda mais
di$i"uldade para autores2 pois n0o $"il vo"@ quebrar as "oisas nos dias de 8o7e! ?s YtemplatesY
est0o a e trazem pr#s e "ontras que dariam um artigo inteiro2 bem $ilos#$i"o in"lusive !!!
1essa lin8a de pensamento2 entendi naquele momento que JDG a base de toda implementa/0o
de persist@n"ia e que2 dentro do universo da Java Magazine2 apli"'la para "8egar em um "#digo
mais "ompleto )que possa ser aproveitado depois em pro7etos+ resultaria em um te>to mais
demo"rti"o2 a"essvel a uma gama maior de pessoas sem grandes obst"ulos!
.obre o "#digo2 o que vo"@ gostaria que $osse mudado para $a"ilitar sua "ompreens0oN Me passa
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
7 de 11 30/07/2014 01:44 PM
UWs2
6edro
U8 V% m@sW ' ,esponder

LesleK ,ibeiro De astro
Goa tarde2
omo eu avia dito vo"@ est de parabnsZ gostei muito por isso o interesse de utilizar da $orma
"omo $ez!
.e $or possvel2 quero que mude a $oma "omo vo"@ "ria as tabelas e persiste as in$orma/3es no
ban"o! Fueria que $izesse as modi$i"a/3es usando Pibernate!
As min8as apli"a/3es usa Pibernate2 quero utilizar da $orma "omo vo"@ $ez nas min8as apli"a/3es
por isso o pedido!
Muito ?brigado!
Email- 4esleKr"astro[Ka8oo!"om!br
Att! LesleK
U8 V% m@sW ' ,esponder

'autor( 6edro Grigatto
5ala2 LesleK!
ara2 legal! Sou pegar o pro7eto aqui e trabal8ar nele! ? que eu n0o posso te prometer prazo2
porque estou $inalizando um artigo para a JM ainda e tambm ten8o alguns "ompromissos meio
grandes na empresa! Mas assim que eu tiver uma vers0o atendendo essa sua demanda2 te mando
no seu e'mail as instru/3es de "omo ' e onde ' bai>'la! ?HN 6retendo n0o demorar2 s# n0o quero
$e"8ar um prazo "ontigo porque o meu dia'a'dia bem "orrido! J era antes2 agora "om um nenm
de * meses em "asa2 7 viu nN Pe8e B+
Abra/0o2
6edro
U8 V% m@sW ' ,esponder

LesleK ,ibeiro De astro
?brigado pela aten/0o $i"o aguardando!
U8 V% m@sW ' ,esponder

Tar"isio 5ran"is"o
Goa noiteZ
\timo artigo 6edro Grigatto!
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
8 de 11 30/07/2014 01:44 PM
abra/osZZ
U8 V% m@sW ' ,esponder

'autor( 6edro Grigatto
?i2 Tar"isio!
ara2 tQ "om o tempo bastante limitado ultimamente2 mas podemos tentar! Eu tambm a"abei
"ombinando "om o LesleK de adaptar o pro7eto2 mas sem "8an"e !!! n0o "onsegui nem relar nele
de l para " e realmente por "onta de trabal8o!
? que a"8am2 os dois2 de mar"amos uns 8angouts de $im de semanaN Eu a"8o que mais
produtivo do que eu ter que parar2 sentar2 re"uperar "onte>to2 et"! 5alando "om vo"@s2 eu a"8o
que $i"a mais dinOmi"o e a"aba a7udando mais!
Abra/os2
6edro
U8 V% m@sW ' ,esponder

Tar"isio 5ran"is"o
?brigado por ,esponder 6edro Grigatto2 por mim t #timo qualquer a7uda valida ]]
U8 V% m@sW ' ,esponder

Tar"isio 5ran"is"o
?brigado por ,esponder 6edro Grigatto2 por mim t #timo qualquer a7uda valida ]]
U8 V% m@sW ' ,esponder

Publicidade
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
9 de 11 30/07/2014 01:44 PM
In"lua um "omentrio
Adi"ionar aos 5avoritos
Mar"ar "omo lido;assistido
In"luir anota/0o pessoal
Sers0o para impress0o
VJava
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
10 de 11 30/07/2014 01:44 PM
CONTEDO REVISTAS CURSOS DEVWARE MVP LOGIN
JSF: Controle de Sesses e Controle de Acesso - Revista Java Magazin... http://www.devmedia.com.br/jsf-controle-de-sessoes-e-controle-de-ace...
11 de 11 30/07/2014 01:44 PM