Autentificarea JAAS și răspunsul Servlet

O zi buna. Am implementat autorizația JAAS cu autentificare FORMS folosind Tomcat 7.0. Când încerc să accesez localhost: 8080/Guestbook/secure/123.html Sunt redirecționat către pagina de autorizare. Mă autentifică și sunt redirecționat (ă) la localhost: 8080/Guestbook/secure/css/style.css pentru obținerea statusului HTTP 404 - /Guestbook/secure/css/style.css. Dacă încerc să accesez din nou resursa localhost: 8080/Guestbook/secure/123.html, o pot obține fără a fi redirecționată către pagina de autentificare. După cum înțeleg, sunt autorizat, dar nu sunt redirecționat la resursă din prima încercare. Ce se întâmplă într-adevăr și ce ar putea fi făcut pentru a preveni un astfel de comportament? În web.xml mea am următoarele coduri.

    
        
            Security test
            /secure/*
        
        
            Admin
        
    

    
        FrontControllerServlet
        *.html
    

    
        FORM
        <form-login-config>
            <form-login-page>/login.jsp
            <form-error-page>/error.html
        
    
0
Orice ajutor ar fi foarte apreciat :)
adăugat autor OneMoreVladimir, sursa

2 răspunsuri

În cele din urmă mi-am dat seama de problemă, ar fi trebuit să folosesc expresia $ {pageContext.request.contextPath} în atributul meu href al etichetei de legătură.

0
adăugat

I think when you are accessing localhost:8080/Guestbook/secure/123.html the browser is serving the html from the cache. And the html is using localhost:8080/Guestbook/secure/css/style.css, for which the request is made to the server. And you that behaviour.

Nu înțeleg necesitatea securizării paginilor statice. Dar, dacă doriți cu adevărat să trimiteți anteturile cache-ului în browser, astfel încât browserul să nu cacheze html-ul și să solicite serverului întotdeauna.

Pentru a dezactiva cache-ul paginilor statice în browser trimiteți următoarele anteturi:

Pragma: no-cache
Cache-Control: no-cache,no-store
0
adăugat
Ramesh PVK, vă mulțumesc pentru răspunsul dvs. O pagină statică este folosită pentru un test, iar codul său constă în direcția de pagini, doctype, cap cu nici un link către CSS și corpul gol.
adăugat autor OneMoreVladimir, sursa
Puteți obține cererea făcută de browser folosind livehttpheaders și post will. Vom primi o idee care este solicitarea la localhost: 8080/Guestbook/secure/css/style.css
adăugat autor Ramesh PVK, sursa