[RESOLVIDO]JAAS não protegendo minhas pastas

Pessoal, estou tentando implementar JAAS na minha aplicação segundo esse tuto http://uaihebert.com/?p=56#comment-1458.

Porém quando eu tento fazer acesso as páginas que deveriam estar bloqueadas, consigo acessá-las normalmente.

Ainda não implementei a parte do Banco, porém apenas fazendo as configurações no web.xml, deveria estar bloqueando correto?

Segue as classes. A estrutura de páginas esta identica ao do tutorial, o qual achei bem interessante e estou usando em minha aplicação.

web.xml

[code]

<?xml version="1.0" encoding="UTF-8"?> CertificadoDigital javax.faces.DEFAULT_SUFFIX .xhtml State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2 javax.faces.STATE_SAVING_METHOD client javax.servlet.jsp.jstl.fmt.localizationContext resources.application com.sun.faces.config.ConfigureListener /index.html Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet /faces/* *.faces *.jsf
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Only admins</web-resource-name>
        <url-pattern>/pages/protected/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>ADMIN</role-name>
    </auth-constraint>
</security-constraint>
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Users and admins</web-resource-name>
        <url-pattern>/pages/protected/user/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>ADMIN</role-name>
        <role-name>USER</role-name>
    </auth-constraint>
</security-constraint>

<!-- Validation By Form -->
<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/pages/protected/public/login.xhtml</form-login-page>
        <form-error-page>/pages/protected/public/mensagens/loginError.xhtml</form-error-page>
    </form-login-config>
</login-config>

<!-- Allowed Roles -->
<security-role>
    <role-name>ADMIN</role-name>
</security-role>
<security-role>
    <role-name>USER</role-name>
</security-role>

<!-- Filter to get the user name and work with it -->
<filter>
    <filter-name>LoginFilter</filter-name>
    <filter-class>br.com.certificadosdigitais.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/pages/protected/*</url-pattern>
</filter-mapping>    

[/code]

Algo de errado?

Muito bom esse site hein?! :lol: :lol: :lol:

Em qual diretório estão as páginas?

Outra coisa, isso aqui tá muito errado: /pages/protected/public/login.xhtml

Mas a página de login não ficaria em uma pasta pública para poder se fazer acesso?

Ha uam confusão ai ente os URL publicos e os URL das pastas do projeto. Os URL que vc configura são os publicos. Ou seja, os que o browser vai enviar e não as pastas do projeto.

O url começando com pages dá a entender que vc está tentando bloquear as pastas do projeto, quando vc deveria travar era as URLs.

/pages/protected/public/login.xhtml

/pages/protected/public/login.xhtml[/quote]Olha lá no tutorial a diferença…

[quote=Hebert Coelho]Muito bom esse site hein?! :lol: :lol: :lol:

Em qual diretório estão as páginas?[/quote]

As páginas públicas estavam dentro da pasta protected, como vc tinha mencionado em outro comentário. Mas já arrumei esta parte. As pastas do meu projeto estão exatamente iguais aos do seu tutorial.

WebContent>pages>protected>admin>admin.xhtml
--------------------------------------->user—>user.xhtml
-------------------------->public>mensagens>loginError.xhtml
-------------------------->public>login.xhtml

O web.xml esta exatamente do jeito que postei acima. Mas mesmo assim, ainda tenho acesso a estas pastas.

Consegui arrumar o problema, porém surgiu um outro: HTTP Status 408 - The time allowed for the login process has been exceeded. IF you wish to continue you must either clock back twice and re-click the link you requested or close and re-open your browser. Porém acho melhor abrir outro post.

[quote=Hebert Coelho]Muito bom esse site hein?! :lol: :lol: :lol:

Em qual diretório estão as páginas?[/quote]

Aproveitando o tópico… Eu também fiz um implementação do jaas em uma aplicação através do seu tutorial Hebert, só que eu to com uma dúvida e queria ver se pode me ajudar…

Logo de cara quando o usuário digitar a url da aplicação eu já quero jogar ele pra pagina de login, sendo assim, eu coloquei um bloqueio na minha <welcome-file> que fará o sistema chamar a pagina de login!

O problema: Quando eu digito a URL completa, o sistema faz como deve fazer, porém, quando eu coloco apenas http://localhost/MinhaAplicacao/ ele não direciona pra tela de login! Como posso resolver isso?