WilliamSilva 22 de ago. de 2007
Se quando acesso o sistema, em vez de entrar com usuário e senha eu digitar no endereço do navegador o caminho da página.jsf ela abre. Acredito que vc. esteje usando o Tomcat 6.0.14, e isso quem controla é o seu container WEB, onde vc. ira criar regras de controle de acesso em suas aplicações WEB.
Procure estudar o conceito de “roles”, que nada mais é que o controle de usuários veja esse post.:
http://www.guj.com.br/posts/list/67382.java#354411
Há também validações chamadas realm, onde o seu Web Container será capaz de validar as senhas em um SGBDs,XML,txt,LDAP, etc, e relacionar aos seus “roles”.
http://www.mhavila.com.br/topicos/java/tomcat.html
http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html
http://cymulacrum.net/writings/tomcat4/c470.html
Bem é isso ai.
sds
rafael.espiritosanto 22 de ago. de 2007
Cara, outra solução que você pode usar seria declarar um filtro que sempre procurasse
na session se o usuário estaria logado. Caso o usuário não esteja logado você redireciona
o cara pra página login… ]
public class controlaAcesso implementes Filter {
public void doFilter ( ServletRequest request , ServletResponse response , FilterChain chain ) {
HttpSession session =( ( HttpServletRequest ) request ). getSession ( false );
if ( session . getAttribute ( "usuarioLogado" ) == null && session . getAttribute ( "usuarioLogado" ). equals ( "" ) ) {
(( HttpServletRequest ) response ). sendRedirect ( "login.jsp" );
chain . doFilter ( request , response );
}
}
}
Daí não esquece de no Web.xml você mapear os servlet´s ou mapeamentos ao qual o filtro vai monitorar
<filter>
<filter-name> ControlaAcesso</filter-name>
<filter-class> controlaAcesso</filter-class>
</filter>
<filter-mapping>
<filter-name> ControlaAcesso</filter-name>
<servlet-class> Servlet</servlet-class> ou <url-pattern> /endereco</url-pattern>
</filter-mapping>
Bom, eu fiz o código de cabeça mas tenho quase certeza que ele está certo…
Detalhes: o método getSession(false) é assim porque se não existir uma session um nova não deve
ser criada.
O bom de fazer deste jeito é que você deixa a seu cargo o controle de quem pode ou não acessar qual
página!
Valeu!!!