DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Video: Aplicação Completa Utilizando Hibernate - Aula 10 - Acrescentando Segurança

Nesta vídeo aula você vai estar aprendendo como colocar segurança em sua aplicação utilizando hibernate.

 

Tempo: 00:14:00

 

Mini-Resumo: Nesta vídeo aula você vai estar aprendendo como colocar segurança em sua aplicação utilizando hibernate para isso, temos em mente que a segurança é parte integral do desenvolvimento de aplicações web e não pode ser deixada de lado, deixamos claro também como fazer esta segurança e damos alguns macetes de como implementá-la em sua aplicação.

 

Tecnologias Utilizadas: Java SE 6, NetBeans 6.5, Hibernate 3, JavaServer Faces

 

Exemplos contruídos: Detalhamos a implementação de um filtro de controle que vai server de filtro para paginas que não tem acesso logado , então redirecionaremos para uma pagina de login que codificamos e apresetamos em tela.

 

Palavras chaves: netbeans6 hibernate jpa orm entity entidade mapeamento jsf






    14 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Joacyr B Martins
Diego

Parabens!!!

Sou iniciante em Java, Hibernate, JSF.
Nesta ultima video-aula vc fala em colocar um return para ir do Login para o Menu Principal, mas no video não fica claro onde foi colocado o return. Aguardo sua resposta.

Mais uma vez, parabens pelo seu trabalho

Esta sendo gratificante assistir suas aulas. Obrigado.

[há +1 ano] - Responder

 

[autor] Dyego Souza Do Carmo
Olá Valeu pela força !!! O retorno que eu disse é uma configuração no config-faces.xml , apenas uma tag que tenha um nome que retorne para a pagina Main.... Ae no metodo doLogin vc pode retornar colocando um return "nomeDaTag"; no final do metodo , entendeu ? Valeu !
[há +1 ano] - Responder
 

Miguelcp
Dyego,

Cara é o seguinte, tentei implementar segurança como você explica nessa video aula e aacontece o seguinte fato: eu tenho uma tela de login onde constar o acessar e cadastra, quando implementei a segurança com doFilter o cadastrar não entra e o acessar também não. O código é o seguinte:

No UserFaces:
public String doAutenthicLogin(){
Log.TurnOn();
if(userDAO.isValidLoginAndPassword(login, password)){
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("login", "ok");
Log.info("O usuario "+login+ " efetuou o login");
return "DoLoginSucessful";

}else {
FacesMessage msg = new FacesMessage("Usuário ou senha inválido!");
FacesContext.getCurrentInstance().addMessage("erro", msg);
Log.Warning(msg.toString());
return "DonotLoginSucessful";
}
}

e o doFilter está assim:

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
boolean auth = request.getAttribute("login") != null;
HttpServletRequest rq = (HttpServletRequest)request;
HttpServletResponse rp = (HttpServletResponse)response;
if(!auth && !rq.getRequestURL().toString().contains("index.jsp")){
rp.sendRedirect("index.jsp");
}else {

try {
Linha 65 -> chain.doFilter(request, response);
} catch (Throwable t) {
// If an exception is thrown somewhere down the filter chain,
// we still want to execute our after processing, and then
// rethrow the problem after that.

t.printStackTrace();
}
}

}
O erro é o seguinte:

javax.faces.FacesException: Error decode resource data
at org.ajax4jsf.resource.ResourceBuilderImpl.decrypt(ResourceBuilderImpl.java:627)
at org.ajax4jsf.resource.ResourceBuilderImpl.getResourceDataForKey(ResourceBuilderImpl.java:369)
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:156)
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.com.sisjus.filtro.Filtro.doFilter(Filtro.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.util.zip.DataFormatException: incorrect header check
at java.util.zip.Inflater.inflateBytes(Native Method)
at java.util.zip.Inflater.inflate(Inflater.java:255)
at java.util.zip.Inflater.inflate(Inflater.java:273)
at org.ajax4jsf.resource.ResourceBuilderImpl.decrypt(ResourceBuilderImpl.java:621)
... 26 more
javax.servlet.ServletException: org.ajax4jsf.resource.ResourceNotFoundException: Resource not registered : org/richfaces/renderkit/html/scripts/index.jsp
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:154)
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:508)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.com.sisjus.filtro.Filtro.doFilter(Filtro.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: org.ajax4jsf.resource.ResourceNotFoundException: Resource not registered : org/richfaces/renderkit/html/scripts/index.jsp
at org.ajax4jsf.resource.ResourceBuilderImpl.getResource(ResourceBuilderImpl.java:406)
at org.ajax4jsf.resource.ResourceBuilderImpl.getResourceForKey(ResourceBuilderImpl.java:350)
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:152)

Poderia me ajudar?
[há +1 mês] - Responder

 

[autor] Dyego Souza Do Carmo
Algum problema com o campo de data , chegou a ver ?
[há +1 mês] - Responder
 

Miguelcp
não, foi uma exceção do richfaces. conseguir resolver procurei no google e tinha um pessoal com mesmo erro. é s´o colocar filtro de sessao + richfaces que acha. Mas agora deu uma coisa estranha. Quando faço o login ele me redireciona para uma pagina que faz uma contagem de 10 segundos, para entrar na página principal,porem quando acaba essa contagem volta para página de login, tem como eu colocar exceção por exemplo a pagina de cadastro de usuário pois o sistema não terá um usuário padrão?

Desde já obrigado.
[há +1 mês] - Responder
 

Miguelcp
quanto ao erro anterior..a forma mais clara. eu troquei o equest.getAttribute("userID") != null; para rq.getSession().getAttribute("userID") != null;


e conseguir fazer funcionar adicionando

&& !rq.getRequestURL().toString().contains("cadastrousuario.jsp")

Resolvido, Valeu!
[há +1 mês] - Responder
 

[autor] Dyego Souza Do Carmo
Esta mudanca vai fazer com que as variaveis consideradas sejam apenas da sessao atual , perfeito :)
[há +1 mês] - Responder
 

Igor Rodrigo Da Silva
Cadê os exemplos de relacionamentos 1:1 e N:N. Faltou explorar mais o HQL. Achei o curso meio fraco!
[há +1 ano] - Responder

 

[autor] Dyego Souza Do Carmo
Opa !

Relacionamentos N:M são abordados na aula 7 e 8... quanto 1:1 realmente não abordei devido a não serem muito uteis logo apos a normalização do banco de dados...

Estes dois detalhes são abordados no curso sobre JPA , Desvendando o JPA...


ValeuZ!
[há +1 ano] - Responder
 

Devmedia - Equipe De Moderacao
você encontra as aulas de relacionamentos 1:N e N:N nas aulas 7 e 8 do curso Desvendando o JPA: http://www.devmedia.com.br/post-11993-Desvendando-o-JPA-Aula-6-Mapeamento-UM-para-MUITOS.html e http://www.devmedia.com.br/post-11994-Desvendando-o-JPA-Aula-7-Mapeamento-MUITOS-para-MUITOS.html
[há +1 mês] - Responder
 

Vitor De Souza Rodrigues
Dyego, Estou obtendo o mesmo erro que outros assinantes mencionaram. Ao clicar em "CANCELAR" ou "ADICIONAR" no faces de produtos, nada acontece na tela. Verificando os logs do TOMCAT constatei o seguinte erro apresentado abaixo: 09/05/2009 13:39:06 com.sun.faces.lifecycle.RenderResponsePhase execute INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. sourceId=j_id_jsp_1709352206_2:j_id_jsp_1709352206_7[severity=(ERROR 2), summary=(Conversion Error setting value 'Vitor de Souza Rodrigues' for 'null Converter'. ), detail=(Conversion Error setting value 'Vitor de Souza Rodrigues' for 'null Converter'. )] Ambas as classes de entidade Venda, Usuario, Produto, estão com os métodos equals, hashCode e toString implementados. No face-config ambas as regras estão aplicadas. Poderia ajudar com algum exemplo de código ou solução? PS. Outra coisa, o erro mencionado por alguns assinantes que apresenta problemas no selectedProduct = null você menciona que resolve-se declarando o selectedProduct da seguinte forma: private Produto selectedProduto = new Produto(); Porque com o managementBean UserFace não implementa essa declaração e funciona? private User selectedUser; No Aguardo...
[há +1 ano] - Responder

 

[autor] Dyego Souza Do Carmo
Opa !

Este erro é devido ao Bean não possuir um CONVERSOR JSF para ele , existem algumas aulas que ensinam como configura-lo...

Estamos junto a devmedia editando esta aula para colocar este pedaço no meio !!!!

Enquanto isto não ocorre , vou pedir que veja as aulas sobre conversores JSF  na parte "Desvendando o JPA" :)

[há +1 ano] - Responder
 

Vitor De Souza Rodrigues
Dyego, Valeu pela dica, consegui resolver o problema do conversor direitinho seguindo algumas dicas da aula que você mencionou, parando e analisando e aplicando para essa aplicação no qual estamos estudando. Muito obrigado e parabéns pelas vídeo aulas.
[há +1 ano] - Responder
 

Devmedia - Equipe De Moderacao
A aula sobre conversor encontra-se em http://www.devmedia.com.br/post-12513-Desvendando-o-JPA-Aula-24-JPA-e-JavaServer-Faces.html
[há +1 mês] - Responder
 



Publicidade
Curso Online
Autor
Dyego Souza Do Carmo

Engenheiro da Computação e evangelista da tecnologia Java , a mais de 15 anos especialista no sistema operacional linux. Programador Java a 8 anos sendo especialista em desenvolvimento de aplicações Java EE utilizando objetos distribuidos e Swing. Consultoria em Dúvidas - Http://www.forHelp.Us


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
11   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03