Preciso fazer um sistema de login simples. Faz 3 semanas que estou pesquisando a respeito, vendo tutoriais, dicas, posts, e tudo + e até agora não consegui fazer ![:frowning: :frowning:](//www.guj.com.br/images/emoji/twitter/frowning.png?v=6)
No netbeans na hora de gerar um novo projeto tem “Exemplos” -> “Java WEB” -> JSF JPA (Java EE 5) esse exemplo deu um erro “infinito” quando eu rodo…
Achei também esse exemplo: http://www.devmedia.com.br/utilizando-servlet-filter-com-javaserver-faces/5331
que da pra faze o download do projeto, mais quando eu rodo da um erro infinito… o erro fica em loop rsrs
O que preciso é simples…
a pasta raiz /* tem acesso a todos os usuários
a pasta /adm/* acesso apenas a administradores
e a pasta /user/* com acesso aos usuarios registrados
são 2 níveis de usuários e a pasta raiz sem “validação”
o que estou montando é um “blog”…
se for possível alguém ajudar, eu estou começando pela parte de autenticação…
pra min não importa em que vou fazer, filter, spring security, jguard… tanto faz… quero o mais simples possível e rápido de se implementar !
Se for possível alguem ajudar, eu ficaria muito grato mesmo ! pois já estou nisso há 3 semanas e nada… (podem conferir outros posts meu e verá que é verdade)
Cara, aqui tem um exemplo que eu te garanto que funciona: Aplicação Web Completa JSF EJB JPA JAAS.
Mas você vai ter que abri mão do netbeans e utilizar Eclipse.
Tem o código fonte para você utilizar e a parte de login pronta.
E sério? Sair catando um monte de tutorial as vezes é nocivo. Você mesmo está sendo vítima disso.
O ideal seria você escolher algo e estudar em cima. Não precisa virar um mestre zen, mas você pode ter um bom conhecimento da ferramenta antes de começar a largar o dedo no desenvolvimento.
intão jakefrog, seu post foi o primeiro que vi… + ai tem um problema
meu pc eh “meio” ruizinho e o jboss fica meio pesado nele…
…eu baxei esse projeto seu + não consegui faze ele roda no netbeans + tomcat… na verdade foi o primeiro que tentei… ^^
achei ele muito bom… no eclipse + jboss funciono legal…
pra fala a verdade esse projeto ai seria “perfeito”… + não consegui fazer funcionar como queria ![:frowning: :frowning:](//www.guj.com.br/images/emoji/twitter/frowning.png?v=6)
eu achei esse tuto aki… http://www.softwareengineeringsolutions.com/thoughts/frameworks/JSF.Techniques-PhaseListeners.htm
fiz ele certim… + não achei um lugar pra valida a página que eh pra valida ou nao rsrs
acho que seria a parte mais importante!
[quote=alves.Felipe]tem um tutorial legal do Edson Goncalves sobre Spring Security… ve se ajuda
http://www.edsongoncalves.com.br/2010/04/25/seguranca-passo-a-passo-com-spring-security-3-0/
[/quote]
Então esse tutorial ai eu tinha visto também… eu fiz ele (pra aprende mesmo) e deu certo… + o problema nele é que o usuário fica meio que “fixo” nessa parte:
<authentication-manager>
<authentication-provider>
<user-service>
<user name="edson" password="integrator" authorities="ROLE_ADMIN" />
</user-service>
</authentication-provider>
</authentication-manager>
alves.Felipe ta vendo como é difícil encontrar um simples tutorial do começo ao fim ^^ rsrs…
Muito obrigado pelos links que você compartilhou… acredito que com esses links ai vai da tudo certo!
… se eu conseguir fazer funcionar tudo certinho vou postar aki o projeto com essa parte de autenticação.!
estou tentando fazer este método -> http://www.edsongoncalves.com.br/2010/05/04/seguranca-com-spring-security-3-0-utilizando-banco-de-dados-em-apenas-alguns-minutos/
segui o tutorial passo a passo…e acontece o seguinte erro:
GRAVE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.StackOverflowError
at javax.servlet.http.HttpServletResponseWrapper.setStatus(HttpServletResponseWrapper.java:201)
at com.sun.faces.application.ViewHandlerResponseWrapper.setStatus(ViewHandlerResponseWrapper.java:88)
at javax.servlet.http.HttpServletResponseWrapper.setStatus(HttpServletResponseWrapper.java:201)
at com.sun.faces.application.ViewHandlerResponseWrapper.setStatus(ViewHandlerResponseWrapper.java:88)
at javax.servlet.http.HttpServletResponseWrapper.setStatus(HttpServletResponseWrapper.java:201)
at com.sun.faces.application.ViewHandlerResponseWrapper.setStatus(ViewHandlerResponseWrapper.java:88)
at javax.servlet.http.HttpServletResponseWrapper.setStatus(HttpServletResponseWrapper.java:201)
… ai fica repetindo e não para mais…
na página que abre (http://localhost:8085/TechSquare/login.jsp) ele da um java.lang.NullPointerException com o erro em anexo
obs.: estou usando um computador diferente das outras vezes.! com jre6 jdk6 netbeans6.9 e as outras vezes que eu tentei e deu o mesmo erro era o netbeans7 jdk7 jre7
obs2.: o que fiz diferente é que estou usando netbens… eu criei um novo projeto Java Web -> Aplicação Web -> Servidor Tomcat, Java EE 6 Web -> JSF 2.1 + Hibernate 3.2.5
se alguem puder me ajudar meu projeto ta aqui: http://j2diniz.com/projeto/
andei pesquisando e vi que tinha que adicionar essa lib: aspectjrt-1.5.4.jar
adicionei e agora apareceu a página pra fazer login… ja é um começo
ai quando eu digitei o usuário e senha conforme o applicationContext.xml:
<authentication-manager>
<authentication-provider>
<user-service>
<user name="123" password="123" authorities="ROLE_ADMIN" />
</user-service>
</authentication-provider>
</authentication-manager>
antes de posta o erro… no console do apache aparece:
MonitorFilter:
the monitor filter must be the first filter in the chain.
MonitorFilter:
the monitor filter must be the first filter in the chain.
deu o erro: java.lang.NullPointerException
java.lang.NullPointerException
at com.sun.faces.context.flash.ELFlash.loggingGetPhaseMapForReading(ELFlash.java:793)
at com.sun.faces.context.flash.ELFlash.getPhaseMapForReading(ELFlash.java:826)
at com.sun.faces.context.flash.ELFlash.isEmpty(ELFlash.java:484)
at com.sun.faces.facelets.util.DevTools.writeVariables(DevTools.java:325)
at com.sun.faces.facelets.util.DevTools.writeVariables(DevTools.java:215)
at com.sun.faces.facelets.util.DevTools.debugHtml(DevTools.java:130)
at com.sun.faces.renderkit.RenderKitUtils.renderHtmlErrorPage(RenderKitUtils.java:1159)
at com.sun.faces.context.ExceptionHandlerImpl.throwIt(ExceptionHandlerImpl.java:269)
at com.sun.faces.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:141)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:546)
at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:364)
at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
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.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:90)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
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:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Consegui
![:smiley: :smiley:](//www.guj.com.br/images/emoji/twitter/smiley.png?v=6)
aff… finalmente rsrs
no url-pattern do servlet-mapping do faces servlet tava *.jsp eu alterei pra *.xhtml e funciono ![:smiley: :smiley:](//www.guj.com.br/images/emoji/twitter/smiley.png?v=6)
pra funciona meus arquivos .xhtml normal posso deixar como está o web.xml?
Atualmente meu web.xml ta assim:
[code]<?xml version="1.0" encoding="UTF-8"?>
javax.faces.PROJECT_STAGE
Development
Faces Servlet
javax.faces.webapp.FacesServlet
1
Faces Servlet
*.xhtml
30
index.jsp
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
[/code]
Coloca isso tb no web.xml
<security-constraint>
<display-name>
Bloqueia o browser de acessar arquivos xhtml
</display-name>
<web-resource-collection>
<web-resource-name>xhtml files</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint />
</security-constraint>
Meu problema foi resolvido ![:smiley: :smiley:](//www.guj.com.br/images/emoji/twitter/smiley.png?v=6)
porém no console do tomcat fica aparecendo toda hora:
MonitorFilter::WARNING: the monitor filter must be the first filter in the chain.
MonitorFilter::WARNING: the monitor filter must be the first filter in the chain.
Alguém sabe o motivo?
não consegui intender a mensagem
Conseguiu solucionar o problema do
MonitorFilter::WARNING: the monitor filter must be the first filter in the chain.
pois estou com o mesmo problema grato.
nada ainda rsrs
ta lá aparecendo